[Home]

Summary:ASTERISK-21918: WaitExten(5,m(default)) broken IAX2 channel
Reporter:Dmitry Burilov (netaskd)Labels:
Date Opened:2013-06-18 06:58:21Date Closed:2013-06-19 08:58:03
Priority:MajorRegression?
Status:Closed/CompleteComponents:PBX/General
Versions:11.4.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:When a call comes through IAX2 trunk he gets on WaitExten application.
If the specified class WaitExten musiconhold, the call is dropped.
ex. WaitExten(5,m(default)) -> IAX2 call is dropped.
The problem exists only when calling from IAX2 trunk.
When you call a SIP trunk in the same context, there is no problem.




This is incoming context
--------------------------------------------
{code}
context std-incoming {

       handle => {
               _SRC_TYPE = "inbound";
               _SRC_ADDR = "${CALLERID(num)}";

       announce:
               Answer;
               TIMEOUT(digit) = 3;

               Background(if-u-know-ext-dial&otherwise&pls-hold-while-try);
       ask:
               WaitExten(5,m(default));

               &simple-queue(${queue_name}, 90, 1000);
};
{code}
----------------------------------------------


This is a piece of the log when the IAX2 debug on

-----------------------------------------------
{code}
   -- Executing [handle@std-incoming:8] BackGround("IAX2/didww.uk01-1177", "if-u-know-ext-dial&otherwise&pls-hold-while-try") in new stack
   -- <IAX2/didww.uk01-1177> Playing 'if-u-know-ext-dial.slin16' (language 'en')
   -- <IAX2/didww.uk01-1177> Playing 'otherwise.slin16' (language 'en')
   -- <IAX2/didww.uk01-1177> Playing 'pls-hold-while-try.slin16' (language 'en')
Tx-Frame Retry[000] -- OSeqno: 004 ISeqno: 002 Type: IAX     Subclass: LAGRQ  
  Timestamp: 10021ms  SCall: 01177  DCall: 11610 [46.19.210.10:4569]
Rx-Frame Retry[ No] -- OSeqno: 002 ISeqno: 005 Type: IAX     Subclass: LAGRP  
  Timestamp: 10021ms  SCall: 11610  DCall: 01177 [46.19.210.10:4569]
Tx-Frame Retry[-01] -- OSeqno: 005 ISeqno: 003 Type: IAX     Subclass: ACK    
  Timestamp: 10021ms  SCall: 01177  DCall: 11610 [46.19.210.10:4569]
   -- Executing [handle@std-incoming:9] WaitExten("IAX2/didww.uk01-1177", "5,m(default)") in new stack
Tx-Frame Retry[000] -- OSeqno: 005 ISeqno: 003 Type: CONTROL Subclass: HOLD  
  Timestamp: 11356ms  SCall: 01177  DCall: 11610 [46.19.210.10:4569]
Rx-Frame Retry[ No] -- OSeqno: 003 ISeqno: 006 Type: IAX     Subclass: ACK    
  Timestamp: 11356ms  SCall: 11610  DCall: 01177 [46.19.210.10:4569]
Rx-Frame Retry[ No] -- OSeqno: 003 ISeqno: 006 Type: IAX     Subclass: INVAL  
  Timestamp: 11474ms  SCall: 11610  DCall: 01177 [46.19.210.10:4569]
 == Spawn extension (std-incoming, handle, 9) exited non-zero on 'IAX2/didww.uk01-1177'
   -- Hungup 'IAX2/didww.uk01-1177'
{code}
-------------------------------------------------
Comments:By: Dmitry Burilov (netaskd) 2013-06-19 08:58:03.625-0500

This behavior is associated with a parameter mohinterpret=passthrough in iax.conf
Sets mohinterpret=default for IAX2 peer solved trouble.