summaryrefslogtreecommitdiffstats
path: root/src/mtp2_iac.erl
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-01-19 22:30:17 +0100
committerHarald Welte <laforge@gnumonks.org>2012-01-19 22:30:17 +0100
commit4d08a71c986e66e126c66ceb71bad605af8e63d3 (patch)
tree197d7664da540c3df985f35c50ebc9454b9d7c3e /src/mtp2_iac.erl
parent99efaf957818a83b518584a30844c5b0ba5b7011 (diff)
MTP2 IAC: ignore SIOS in not_aligned state
Diffstat (limited to 'src/mtp2_iac.erl')
-rw-r--r--src/mtp2_iac.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mtp2_iac.erl b/src/mtp2_iac.erl
index d23aaf0..1b756b7 100644
--- a/src/mtp2_iac.erl
+++ b/src/mtp2_iac.erl
@@ -146,6 +146,10 @@ not_aligned(What, LoopDat) when What == si_o; What == si_n ->
not_aligned(emergency, LoopDat) ->
% mark emergency
{next_state, not_aligned, LoopDat#iac_state{emergency=1}};
+not_aligned(si_os, LoopDat) ->
+ % ignore SIOS in this state, as some implementations (notably
+ % yate) seem to send it in violation of the spec
+ {next_state, not_aligned, LoopDat};
not_aligned({timer_expired, t2}, LoopDat) ->
% send 'alignment not possible' to LSC
send_to_lsc(alignment_not_possible, LoopDat),