[Home]

Summary:ASTERISK-00033: Call placed via IAX2 to busy Zap channel, is instantly hung up.
Reporter:richard (richard)Labels:
Date Opened:2003-08-01 20:06:06Date Closed:2011-06-07 14:05:10
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:An analog call (X100P) is initiated on one asterisk, to a TDM400P phone on a second asterisk, using IAX2 over VPN. If the TDM phone is busy, the caller is instantly hungup on, without hearing the expected congestion tone.

The logs attached show a call made to extension 501.

Caller (hostname pbxwn) Asterisk details:
Version - Asterisk CVS-07/14/03-07:58:28 Redhat 7.3
Hardware - 2 x X100P cards

zapata.conf:
echocancel=yes
echocancelwhenbridged=yes
context=incoming
signalling=fxs_ks
group=1
channel => 1-2

iax.conf:
[general]
;port=5036
jitterbuffer=no
amaflags=default

bandwidth=high
disallow=lpc10
;disallow=all
;allow=gsm

context=iax

tos=lowdelay

[pbxak]
host=192.168.3.223
type=friend
context=default
trunk=yes

extensions.conf:
[general]
static=yes
writeprotect=no

[globals]
TRUNK=IAX2/192.168.3.223
PANASONIC=Zap/g1

[incoming]
exten => s,1,Answer
exten => s,2,DigitTimeout,10
exten => s,3,ResponseTimeout,20
exten => t,1,Hangup

exten => _5XX,1,Dial(${TRUNK}/${EXTEN}|30)
exten => _5XX,2,Hangup

exten => _9XXXXXXX,1,Dial(${TRUNK}/${EXTEN}|30)
exten => _9XXXXXXX,2,Hangup

[default]
exten => 0,1,Dial(${PANASONIC}/${EXTEN})
exten => 0,2,Congestion

exten => _1XX,1,Dial(${PANASONIC}/${EXTEN})
exten => _1XX,2,Congestion

exten => _9XXXXXXX,1,Dial(${PANASONIC}/${EXTEN})
exten => _9XXXXXXX,2,Congestion

--------------------------

Callee (hostname pbxak) Asterisk:
Version:Asterisk CVS-07/12/03-10:49:47 Redhat 7.3
Hardware: 2 x X100P, 1 x TDM400P

zapata.conf:
[channels]
echocancel=yes
echocancelwhenbridged=yes
usecallerid=no

group=1
context=incoming
signalling=fxs_ks
amaflags=documentation
channel => 1-2

usecallerid=yes

group=2
context=default
signalling=fxo_ks
threewaycalling=yes
transfer=yes
cancallforward=yes

callerid="Avid" <500>
channel => 3

callerid="Simon" <501>
channel => 4

callerid="Colin" <502>
channel => 5

callerid="" <503>
channel => 6

iax.conf:
[general]
;port=5036
jitterbuffer=no
amaflags=default

bandwidth=high
disallow=lpc10
;disallow=all
;allow=gsm

context=iax

tos=lowdelay

[pbxwn]
type=friend
host=192.168.4.223
context=saucewn-in
trunk=yes

extensions.conf:

[general]
static=yes
writeprotect=no

[globals]
TRUNK=IAX2/192.168.4.223
POTS=Zap/1

AVID=Zap/3
SIMON=Zap/4
COLIN=Zap/5
SPARE=Zap/6

[wnlocal]
exten => _904XXXXXXX,1,Dial(${TRUNK}/9${EXTEN:3})
exten => _904XXXXXXX,2,Dial(${POTS}/1${EXTEN:1})
exten => _904XXXXXXX,3,Congestion

[saucewn]
exten => _0,1,Dial(${TRUNK}/${EXTEN})
exten => _0,2,Congestion
exten => _1[1-9]X,1,Dial(${TRUNK}/${EXTEN})
exten => _1[1-9]X,2,Congestion

[saucewn-in]
include => internal


[local]
exten => _9.,1,Dial(${POTS}/1${EXTEN:1})
exten => _9.,2,Congestion

[incoming]
exten => s,1,Dial(${SIMON}&${AVID}|30)

exten => t,1,Hangup

[internal]
exten => 500,1,Dial(${AVID})
exten => 500,2,Congestion
exten => 501,1,Dial(${SIMON})
exten => 501,2,Congestion
exten => 502,1,Dial(${COLIN})
exten => 502,2,Congestion
exten => 503,1,Dial(${SPARE})
exten => 503,2,Congestion

[default]
ignorepat => 9
include => internal
include => wnlocal
include => saucewn
include => local


****** ADDITIONAL INFORMATION ******

Console and IAX2 debug logs from caller (pbxwn) Asterisk:

   -- Starting simple switch on 'Zap/2-1'
   -- Executing Answer("Zap/2-1", "") in new stack
   -- Executing DigitTimeout("Zap/2-1", "10") in new stack
   -- Set Digit Timeout to 10
   -- Executing ResponseTimeout("Zap/2-1", "20") in new stack
   -- Set Response Timeout to 20
   -- Executing Dial("Zap/2-1", "IAX2/192.168.3.223/501|30") in new stack
   -- Called 192.168.3.223/501
   -- Call accepted by 192.168.3.223 (format 4)
   -- Format for call is 4
   -- IAX2[pbxak]/2 is circuit-busy
   -- Hungup 'IAX2[pbxak]/2'
 == Everyone is busy at this time
   -- Executing Hangup("Zap/2-1", "") in new stack
 == Spawn extension (incoming, 501, 2) exited non-zero on 'Zap/2-1'
   -- Hungup 'Zap/2-1'
   -- Hungup 'Zap/1-1'
 == Spawn extension (default, 93845994, 1) exited non-zero on 'IAX2[pbxak@pbxak
]/16384'
   -- Hungup 'IAX2[pbxak@pbxak]/16384'

-------------------------------

   -- Starting simple switch on 'Zap/2-1'
Tx-Frame Retry[000] -- OSeqno: 014 ISeqno: 017 Type: IAX     Subclass: LAGRQ  
  Timestamp: 50011ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 017 ISeqno: 015 Type: IAX     Subclass: LAGRP  
  Timestamp: 50011ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]
Tx-Frame Retry[-01] -- OSeqno: 015 ISeqno: 018 Type: IAX     Subclass: ACK    
  Timestamp: 50011ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 018 ISeqno: 015 Type: IAX     Subclass: LAGRQ  
  Timestamp: 50009ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]
Tx-Frame Retry[000] -- OSeqno: 015 ISeqno: 019 Type: IAX     Subclass: LAGRP  
  Timestamp: 50009ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 019 ISeqno: 016 Type: IAX     Subclass: ACK    
  Timestamp: 50009ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]
   -- Executing Answer("Zap/2-1", "") in new stack
   -- Executing DigitTimeout("Zap/2-1", "10") in new stack
   -- Set Digit Timeout to 10
   -- Executing ResponseTimeout("Zap/2-1", "20") in new stack
   -- Set Response Timeout to 20
   -- Executing Dial("Zap/2-1", "IAX2/192.168.3.223/502|30") in new stack
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: NEW    
  Timestamp: 00001ms  SCall: 00002  DCall: 00000 [192.168.3.223:4569]
  VERSION         : 2
  CALLED NUMBER   : 502
  LANGUAGE        : en
  FORMAT          : 4
  CAPABILITY      : 65407
  ADSICPE         : 2
pbxwn*CLI>
   -- Called 192.168.3.223/502
Rx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: ACCEPT
  Timestamp: 00001ms  SCall: 16385  DCall: 00002 [192.168.3.223:4569]
  FORMAT          : 4
   -- Call accepted by 192.168.3.223 (format 4)
   -- Format for call is 4
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: ACK    
  Timestamp: 00001ms  SCall: 00002  DCall: 16385 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 001 ISeqno: 001 Type: CONTROL Subclass: (0?)
  Timestamp: 00002ms  SCall: 16385  DCall: 00002 [192.168.3.223:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: ACK    
  Timestamp: 00002ms  SCall: 00002  DCall: 16385 [192.168.3.223:4569]
   -- IAX2[pbxak]/2 is circuit-busy
Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: HANGUP
  Timestamp: 00017ms  SCall: 00002  DCall: 16385 [192.168.3.223:4569]
   -- Hungup 'IAX2[pbxak]/2'
 == Everyone is busy at this time
   -- Executing Hangup("Zap/2-1", "") in new stack
 == Spawn extension (incoming, 502, 2) exited non-zero on 'Zap/2-1'
   -- Hungup 'Zap/2-1'
Rx-Frame Retry[No] -- OSeqno: 002 ISeqno: 002 Type: IAX     Subclass: ACK    
  Timestamp: 00017ms  SCall: 16385  DCall: 00002 [192.168.3.223:4569]
Tx-Frame Retry[000] -- OSeqno: 016 ISeqno: 019 Type: IAX     Subclass: PING  
  Timestamp: 60011ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Tx-Frame Retry[000] -- OSeqno: 017 ISeqno: 019 Type: IAX     Subclass: LAGRQ  
  Timestamp: 60012ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 019 ISeqno: 017 Type: IAX     Subclass: PONG  
  Timestamp: 60011ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]
Tx-Frame Retry[-01] -- OSeqno: 017 ISeqno: 020 Type: IAX     Subclass: ACK    
  Timestamp: 60011ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 020 ISeqno: 017 Type: IAX     Subclass: PING  
  Timestamp: 60010ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]
Tx-Frame Retry[000] -- OSeqno: 018 ISeqno: 021 Type: IAX     Subclass: PONG  
  Timestamp: 60010ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 021 ISeqno: 017 Type: IAX     Subclass: LAGRQ  
  Timestamp: 60011ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]
Tx-Frame Retry[000] -- OSeqno: 019 ISeqno: 022 Type: IAX     Subclass: LAGRP  
  Timestamp: 60011ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 022 ISeqno: 018 Type: IAX     Subclass: LAGRP  
  Timestamp: 60012ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]
Tx-Frame Retry[-01] -- OSeqno: 018 ISeqno: 023 Type: IAX     Subclass: ACK    
  Timestamp: 60012ms  SCall: 00001  DCall: 16384 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 021 ISeqno: 019 Type: IAX     Subclass: ACK    
  Timestamp: 60010ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]
Rx-Frame Retry[No] -- OSeqno: 022 ISeqno: 020 Type: IAX     Subclass: ACK    
  Timestamp: 60011ms  SCall: 16384  DCall: 00001 [192.168.3.223:4569]


-----------------------------------------------
Console and IAX2 debug logs from callee (pbxak) Asterisk:

   -- Accepting unauthenticated call from 192.168.4.223, requested format = 4,
actual format = 4
   -- Executing Dial("IAX2[pbxwn@pbxwn]/16385", "Zap/4") in new stack
 == Everyone is busy at this time
   -- Executing Congestion("IAX2[pbxwn@pbxwn]/16385", "") in new stack
 == Spawn extension (saucewn-in, 501, 2) exited non-zero on 'IAX2[pbxwn@pbxwn]/
16385'
   -- Hungup 'IAX2[pbxwn@pbxwn]/16385'
   -- Hungup 'IAX2[pbxwn]/1'

------------------------------

  Timestamp: 00001ms  SCall: 00002  DCall: 00000 [192.168.4.223:4569]
  VERSION         : 2
  CALLED NUMBER   : 502
  LANGUAGE        : en
  FORMAT          : 4
  CAPABILITY      : 65407
  ADSICPE         : 2

   -- Accepting unauthenticated call from 192.168.4.223, requested format = 4,
actual format = 4
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: ACCEPT
  Timestamp: 00001ms  SCall: 16385  DCall: 00002 [192.168.4.223:4569]
  FORMAT          : 4

   -- Executing Dial("IAX2[pbxwn@pbxwn]/16385", "Zap/5") in new stack
 == Everyone is busy at this time
   -- Executing Congestion("IAX2[pbxwn@pbxwn]/16385", "") in new stack
Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 001 Type: CONTROL Subclass: (0?)
  Timestamp: 00002ms  SCall: 16385  DCall: 00002 [192.168.4.223:4569]
Rx-Frame Retry[No] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: ACK    
  Timestamp: 00001ms  SCall: 00002  DCall: 16385 [192.168.4.223:4569]
Rx-Frame Retry[No] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: ACK    
  Timestamp: 00002ms  SCall: 00002  DCall: 16385 [192.168.4.223:4569]
Rx-Frame Retry[No] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: HANGUP
  Timestamp: 00017ms  SCall: 00002  DCall: 16385 [192.168.4.223:4569]
Tx-Frame Retry[-01] -- OSeqno: 002 ISeqno: 002 Type: IAX     Subclass: ACK    
  Timestamp: 00017ms  SCall: 16385  DCall: 00002 [192.168.4.223:4569]
 == Spawn extension (saucewn-in, 502, 2) exited non-zero on 'IAX2[pbxwn@pbxwn]/
16385'
   -- Hungup 'IAX2[pbxwn@pbxwn]/16385'
Rx-Frame Retry[No] -- OSeqno: 016 ISeqno: 019 Type: IAX     Subclass: PING  
  Timestamp: 60011ms  SCall: 00001  DCall: 16384 [192.168.4.223:4569]
Tx-Frame Retry[000] -- OSeqno: 019 ISeqno: 017 Type: IAX     Subclass: PONG  
  Timestamp: 60011ms  SCall: 16384  DCall: 00001 [192.168.4.223:4569]
Tx-Frame Retry[000] -- OSeqno: 020 ISeqno: 017 Type: IAX     Subclass: PING  
  Timestamp: 60010ms  SCall: 16384  DCall: 00001 [192.168.4.223:4569]
Tx-Frame Retry[000] -- OSeqno: 021 ISeqno: 017 Type: IAX     Subclass: LAGRQ  
  Timestamp: 60011ms  SCall: 16384  DCall: 00001 [192.168.4.223:4569]
Rx-Frame Retry[No] -- OSeqno: 017 ISeqno: 019 Type: IAX     Subclass: LAGRQ  
  Timestamp: 60012ms  SCall: 00001  DCall: 16384 [192.168.4.223:4569]
Tx-Frame Retry[000] -- OSeqno: 022 ISeqno: 018 Type: IAX     Subclass: LAGRP  
  Timestamp: 60012ms  SCall: 16384  DCall: 00001 [192.168.4.223:4569]
Rx-Frame Retry[No] -- OSeqno: 017 ISeqno: 020 Type: IAX     Subclass: ACK    
  Timestamp: 60011ms  SCall: 00001  DCall: 16384 [192.168.4.223:4569]
Rx-Frame Retry[No] -- OSeqno: 018 ISeqno: 021 Type: IAX     Subclass: PONG  
  Timestamp: 60010ms  SCall: 00001  DCall: 16384 [192.168.4.223:4569]
Tx-Frame Retry[-01] -- OSeqno: 021 ISeqno: 019 Type: IAX     Subclass: ACK    
  Timestamp: 60010ms  SCall: 16384  DCall: 00001 [192.168.4.223:4569]
Rx-Frame Retry[No] -- OSeqno: 019 ISeqno: 022 Type: IAX     Subclass: LAGRP  
  Timestamp: 60011ms  SCall: 00001  DCall: 16384 [192.168.4.223:4569]
Tx-Frame Retry[-01] -- OSeqno: 022 ISeqno: 020 Type: IAX     Subclass: ACK    
  Timestamp: 60011ms  SCall: 16384  DCall: 00001 [192.168.4.223:4569]
Rx-Frame Retry[No] -- OSeqno: 018 ISeqno: 023 Type: IAX     Subclass: ACK    
  Timestamp: 60012ms  SCall: 00001  DCall: 16384 [192.168.4.223:4569]

Comments:By: Mark Spencer (markster) 2003-08-02 15:49:19

This is a configuration issue.  The Congestion is passed from the second host to the first verbatum.  Congestion tone is not supposed to be sent across IAX.  Since the first one has the next step as "Hangup" and not "Congestion", then the call is hungup.  One could create a priority 102 with "Congestion" or "Busy" to differentiate between that and a no-answer condition.