[asterisk-dev] Diagnosing signaling problems

Pavel Troller patrol at sinus.cz
Thu Feb 27 00:18:02 CST 2014


Hi!
  I've been working on some signaling-related problems (missing or extra
answer signal etc.) and I must admit that I still don't understand  some
details of Asterisk signaling. 
  For example, I don't understand the following part of log, created by
simultaneously enabling IAX2 debug on a peer and the FRAME_TRACE()
function blacklisted to view the control frames only:


Rx-Frame Retry[ No] -- OSeqno: 005 ISeqno: 013 Type: CONTROL Subclass: PROCDNG
   Timestamp: 03921ms  SCall: 00838  DCall: 11410 [194.213.62.218:4569]
Tx-Frame Retry[-01] -- OSeqno: 013 ISeqno: 006 Type: IAX     Subclass: ACK
   Timestamp: 03921ms  SCall: 11410  DCall: 00838 [194.213.62.218:4569]
--> Write on Channel SCCP/2112-000000c8
FrameType: CONTROL
SubClass: PROCEEDING
Bytes: 0
Src: NOT PRESENT

Rx-Frame Retry[ No] -- OSeqno: 006 ISeqno: 013 Type: CONTROL Subclass: ANSWER
   Timestamp: 04459ms  SCall: 00838  DCall: 11410 [194.213.62.218:4569]
Tx-Frame Retry[-01] -- OSeqno: 013 ISeqno: 007 Type: IAX     Subclass: ACK
   Timestamp: 04459ms  SCall: 11410  DCall: 00838 [194.213.62.218:4569]
--> Write on Channel SCCP/2112-000000c8
FrameType: CONTROL
SubClass: -1
Bytes: 0
Src: NOT PRESENT

--> Write on Channel SCCP/2112-000000c8
FrameType: CONTROL
SubClass: SRCUPDATE
Bytes: 0
Src: NOT PRESENT

Rx-Frame Retry[ No] -- OSeqno: 007 ISeqno: 013 Type: CONTROL Subclass: (255?)
   Timestamp: 04462ms  SCall: 00838  DCall: 11410 [194.213.62.218:4569]
Tx-Frame Retry[-01] -- OSeqno: 013 ISeqno: 008 Type: IAX     Subclass: ACK
   Timestamp: 04462ms  SCall: 11410  DCall: 00838 [194.213.62.218:4569]
--> Write on Channel SCCP/2112-000000c8
FrameType: CONTROL
SubClass: SRCUPDATE
Bytes: 0
Src: NOT PRESENT

--> Write on Channel SCCP/2112-000000c8
FrameType: CONTROL
SubClass: -1
Bytes: 0
Src: NOT PRESENT

--> Write on Channel SCCP/2112-000000c8
FrameType: CONTROL
SubClass: SRCUPDATE
Bytes: 0
Src: NOT PRESENT


  The points I don't understand are:
  1) What happend to the ANSWER frame coming from IAX2 ? Why I can't see it
in the trace and I can see a "mystical" subclass -1 message instead ? 
Is it a bug of FRAME_TRACE() ? The calling device indicated Answer condition
properly.

  2) Why there is another "subclass -1" message sent a few milliseconds later
from the peer, which is also forwarded as a local control frame ?

  3) What do these "subclass -1" messages mean ? I've been looking to the
sources, the value "-1" is regularly checked on many places, so it seems to
be a regular control frame - so why the negative number ? Why it doesn't have
a symbolic name ?

  4) Why so many SRCUPDATE control frames is being generated, when it's
a single peer-2-peer call (BTW, it's a call to the remote MilliWatt()
service).

  I tried to learn from the network resouces, but I didn't find anything
related to my question closely enough. I will be very thankful for a short
explanation.

  With regards,
  Pavel Troller



More information about the asterisk-dev mailing list