[asterisk-users] Dropped call issue with IAX Trunking

Eric Germann ekgermann at cctec.com
Mon Jan 29 15:44:05 MST 2007


Trixbox 2.2 Beta with freePBX 2.2.0rc1


I have a setup that looks something like this in ASCII art:

  Teliax IAX Trunk ------+
                         |
                         V
  Embarq PRI   ---->  Tandem switch  ---->  Ottawa Office Server------+
                          +-------------->  Lima Office Server  -----+|
                                                                     ||
                                                                     VV
 
VoiceMail Server



All calls come in from either the PRI or Teliax to a core "tandem switch"
which interconnects the PSTN and outside VoIP IAX trunks to the internal
switches.

On the Ottawa server, I have an extension 2502 which has a PSTN number on
the PRI of 419 993 2502.  On the tandem, it's definition looks like this:

>From the Emabarq PRI, it looks like


[ext-did-custom]
exten => _41999325[0-1][0-9],1,Set(FAX_RX=disabled)
exten => _41999325[0-1][0-9],n,Macro(dialout-trunk,7,${EXTEN:6},,)
exten => _41999325[0-1][0-9],n,Macro(outisbusy,)

exten => 2502,1,Set(FAX_RX=disabled)
exten => 2502,n,Macro(dialout-trunk,7,${EXTEN},,)
exten => 2502,n,Macro(outisbusy,)


Trunk 7 is an IAX trunk between tandem and ottawa.  Ottawa has a IAX trunk
to the centralized vmail server.

I have a IAX trunk from Teliax.  It's mapped as follows:

exten => 4196154152,1,Set(FAX_RX=disabled)
exten => 4196154152,n,Macro(dialout-trunk,7,2502,,)
exten => 4196154152,n,Macro(outisbusy,)

Also in the [ext-did-custom] context in extensions_custom.conf


Now, here's the issue:

Call comes in on Embarq (419 993 2502).  Call is switched  from tandem down
IAX trunk to Ottawa.  Phone rings, no one answers.  Call is sent down IAX
trunk from Ottawa to Vmail server, it answers as expected and takes the
message.  Just as expected.


Now on, the Teliax side.  Call comes in on Teliax trunk as 419 615 4152 as
an IAX trunk.  Call is switched down IAX trunk to Ottawa and phone rings at
Ottawa.  However, when call is sent to voicemail via Ottawa to vmail IAX
trunk, caller gets slow busy back.  IAX2 debug on vmail shows the call come
in to 2502 at default (just like PRI), it begins playout of call then
immediateley hangs up.

These are traces on the VM side.

This is a trace of vm working (PRI - 419 993 2502)

Verbosity was 0 and is now 9
    -- Accepting AUTHENTICATED call from 10.149.32.11:
       > requested format = ilbc,
       > requested prefs = (ilbc|gsm),
       > actual format = ilbc,
       > host prefs = (ilbc|gsm),
       > priority = mine
    -- Executing Macro("IAX2/vmail-ottawa-peer-5", "vm|2502|DIRECTDIAL") in
new stack
    -- Executing Macro("IAX2/vmail-ottawa-peer-5", "user-callerid|SKIPTTL")
in new stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-5", "0?report") in new stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-5", "0?start") in new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-5",
"REALCALLERIDNUM=4197715709") in new stack
    -- Executing NoOp("IAX2/vmail-ottawa-peer-5", "REALCALLERIDNUM is
4197715709") in new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-5", "AMPUSER=") in new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-5", "AMPUSERCIDNAME=") in new
stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-5", "1?report") in new stack
    -- Goto (macro-user-callerid,s,10)
    -- Executing NoOp("IAX2/vmail-ottawa-peer-5", "TTL:  ARG1: SKIPTTL") in
new stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-5", "1?continue") in new
stack
    -- Goto (macro-user-callerid,s,20)
    -- Executing NoOp("IAX2/vmail-ottawa-peer-5", "Using CallerID ""
<4197715709>") in new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-5", "VMGAIN=") in new stack
    -- Executing Goto("IAX2/vmail-ottawa-peer-5", "s-DIRECTDIAL|1") in new
stack
    -- Goto (macro-vm,s-DIRECTDIAL,1)
    -- Executing NoOp("IAX2/vmail-ottawa-peer-5", "DIRECTDIAL voicemail") in
new stack
    -- Executing Macro("IAX2/vmail-ottawa-peer-5", "get-vmcontext|2502") in
new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-5", "VMCONTEXT=default") in new
stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-5", "0?200:300") in new
stack
    -- Goto (macro-get-vmcontext,s,300)
    -- Executing NoOp("IAX2/vmail-ottawa-peer-5", "") in new stack
    -- Executing VoiceMail("IAX2/vmail-ottawa-peer-5", "2502 at default|u") in
new stack
    -- Playing 'vm-theperson' (language 'en')
    -- Playing 'digits/2' (language 'en')
    -- Playing 'digits/5' (language 'en')
    -- Playing 'digits/0' (language 'en')
    -- Playing 'digits/2' (language 'en')
    -- Playing 'vm-isunavail' (language 'en')
  == Spawn extension (macro-vm, s-DIRECTDIAL, 3) exited non-zero on
'IAX2/vmail-ottawa-peer-5' in macro 'vm'
  == Spawn extension (macro-vm, s-DIRECTDIAL, 3) exited non-zero on
'IAX2/vmail-ottawa-peer-5'
    -- Hungup 'IAX2/vmail-ottawa-peer-5'

This is a trace of the forwarded IAX call from Teliax (doesn't work, fast
busy).

    -- Accepting AUTHENTICATED call from 10.149.32.11:
       > requested format = ilbc,
       > requested prefs = (ilbc|gsm),
       > actual format = ilbc,
       > host prefs = (ilbc|gsm),
       > priority = mine
    -- Executing Macro("IAX2/vmail-ottawa-peer-2", "vm|2502|DIRECTDIAL") in
new stack
    -- Executing Macro("IAX2/vmail-ottawa-peer-2", "user-callerid|SKIPTTL")
in new stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-2", "0?report") in new stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-2", "0?start") in new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-2",
"REALCALLERIDNUM=4197715709") in new stack
    -- Executing NoOp("IAX2/vmail-ottawa-peer-2", "REALCALLERIDNUM is
4197715709") in new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-2", "AMPUSER=") in new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-2", "AMPUSERCIDNAME=") in new
stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-2", "1?report") in new stack
    -- Goto (macro-user-callerid,s,10)
    -- Executing NoOp("IAX2/vmail-ottawa-peer-2", "TTL:  ARG1: SKIPTTL") in
new stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-2", "1?continue") in new
stack
    -- Goto (macro-user-callerid,s,20)
    -- Executing NoOp("IAX2/vmail-ottawa-peer-2", "Using CallerID "Germann
Eric" <4197715709>") in new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-2", "VMGAIN=") in new stack
    -- Executing Goto("IAX2/vmail-ottawa-peer-2", "s-DIRECTDIAL|1") in new
stack
    -- Goto (macro-vm,s-DIRECTDIAL,1)
    -- Executing NoOp("IAX2/vmail-ottawa-peer-2", "DIRECTDIAL voicemail") in
new stack
    -- Executing Macro("IAX2/vmail-ottawa-peer-2", "get-vmcontext|2502") in
new stack
    -- Executing Set("IAX2/vmail-ottawa-peer-2", "VMCONTEXT=default") in new
stack
    -- Executing GotoIf("IAX2/vmail-ottawa-peer-2", "0?200:300") in new
stack
    -- Goto (macro-get-vmcontext,s,300)
    -- Executing NoOp("IAX2/vmail-ottawa-peer-2", "") in new stack
    -- Executing VoiceMail("IAX2/vmail-ottawa-peer-2", "2502 at default|u") in
new stack
    -- Playing 'vm-theperson' (language 'en')
  == Spawn extension (macro-vm, s-DIRECTDIAL, 3) exited non-zero on
'IAX2/vmail-ottawa-peer-2' in macro 'vm'
  == Spawn extension (macro-vm, s-DIRECTDIAL, 3) exited non-zero on
'IAX2/vmail-ottawa-peer-2'
    -- Hungup 'IAX2/vmail-ottawa-peer-2'

It begins playout of vm-theperson and then bails instead of going to digits
playout.

At first, I thought it was IAX trying to transfer, but configged iax.conf
with notransfer=yes on all servers.  It seems like somewhere, since it's IAX
end to end, that * is bailing out of the call chain and collapsing the call.
With the inbound PRI, it has to stay in the chain, at least at the tandem
inbound to the voip cloud.

Anyone have any thoughts as to what's going on.  My suspicion is tandem is
dropping out of the bridge chain, but I don't know how to debug it further.

Any help appreciated.

EKG



More information about the asterisk-users mailing list