LD calls issue

Hello Everyone!
Brief problem description:

  1. There are 2 asterisk servers with IAX2 between them(asterisk 1.4.22. and 1.4.24)
  2. At one of them (1st one) there is Digium card TE122B (T1 is used)
  3. When trying to make international calls from second server through the 1st - ‘all circuits are busy’ returns (I’m hippoed with such log message “
    – Called g0/15144472820
    – Channel 0/3, span 1 got hangup, cause 16
    – Hungup ‘Zap/3-1’
    – No one is available to answer at this time (1:0/0/0)
    – Executing [s@macro-dialout-trunk:21] Goto(“IAX2/ukr-6174”, “s-NOANSWER|1”) in new stack
    – Goto (macro-dialout-trunk,s-NOANSWER,1)
    – Executing [s-NOANSWER@macro-dialout-trunk:1] NoOp(“IAX2/ukr-6174”, “Dial failed due to trunk reporting NOANSWER - giving up”) in new stack”)
  4. If trying to make a call from 1st server with digium card inside - everything works properly.

First I thought problem is with IAX channel between servers. But as ZAP hungs up it’s not a problem with IAX2, is it?

Below are the detailed log output with ‘pri debug span 1’ of unsuccessful call from 2nd server through 1st: (logs are taken from the server with digium card inside):

Verbosity is at least 3
– Accepting AUTHENTICATED call from xxx.xxx.xxx.xxx:

requested format = ulaw,
requested prefs = (ulaw|g729),
actual format = g729,
host prefs = (g729|ulaw),
priority = mine
– Executing [13106465252@from-internal:1] Set(“IAX2/ukr-4701”, “INTRACOMPANYROUTE=YES”) in new stack
– Executing [13106465252@from-internal:2] Macro(“IAX2/ukr-4701”, “user-callerid|SKIPTTL|”) in new stack
– Executing [s@macro-user-callerid:1] NoOp(“IAX2/ukr-4701”, “user-callerid: UA 5933”) in new stack
– Executing [s@macro-user-callerid:2] Set(“IAX2/ukr-4701”, “AMPUSER=5933”) in new stack
– Executing [s@macro-user-callerid:3] GotoIf(“IAX2/ukr-4701”, “0?report”) in new stack
– Executing [s@macro-user-callerid:4] ExecIf(“IAX2/ukr-4701”, “1|Set|REALCALLERIDNUM=5933”) in new stack
– Executing [s@macro-user-callerid:5] NoOp(“IAX2/ukr-4701”, “REALCALLERIDNUM is 5933”) in new stack
– Executing [s@macro-user-callerid:6] Set(“IAX2/ukr-4701”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:7] Set(“IAX2/ukr-4701”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:8] GotoIf(“IAX2/ukr-4701”, “1?report”) in new stack
– Goto (macro-user-callerid,s,13)
– Executing [s@macro-user-callerid:13] NoOp(“IAX2/ukr-4701”, “TTL: ARG1: SKIPTTL”) in new stack
– Executing [s@macro-user-callerid:14] GotoIf(“IAX2/ukr-4701”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,23)
– Executing [s@macro-user-callerid:23] NoOp(“IAX2/ukr-4701”, “Using CallerID “UA” <5933>”) in new stack
– Executing [13106465252@from-internal:3] Set(“IAX2/ukr-4701”, “_NODEST=”) in new stack
– Executing [13106465252@from-internal:4] Macro(“IAX2/ukr-4701”, “record-enable||OUT|”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“IAX2/ukr-4701”, “0?2:4”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] AGI(“IAX2/ukr-4701”, “recordingcheck|20100915-024218|1284532938.78”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20100915-024218|1284532938.78: No AMPUSER db entry for . Not recording
– AGI Script recordingcheck completed, returning 0
– Executing [s@macro-record-enable:5] NoOp(“IAX2/ukr-4701”, “No recording needed”) in new stack
– Executing [13106465252@from-internal:5] Macro(“IAX2/ukr-4701”, “dialout-trunk|1|13106465252||”) in new stack
– Executing [s@macro-dialout-trunk:1] Set(“IAX2/ukr-4701”, “DIAL_TRUNK=1”) in new stack
– Executing [s@macro-dialout-trunk:2] ExecIf(“IAX2/ukr-4701”, “0|Authenticate|”) in new stack
– Executing [s@macro-dialout-trunk:3] GotoIf(“IAX2/ukr-4701”, “0?disabletrunk|1”) in new stack
– Executing [s@macro-dialout-trunk:4] Set(“IAX2/ukr-4701”, “DIAL_NUMBER=13106465252”) in new stack
– Executing [s@macro-dialout-trunk:5] Set(“IAX2/ukr-4701”, “DIAL_TRUNK_OPTIONS=TtrwW”) in new stack
– Executing [s@macro-dialout-trunk:6] Set(“IAX2/ukr-4701”, “GROUP()=OUT_1”) in new stack
– Executing [s@macro-dialout-trunk:7] GotoIf(“IAX2/ukr-4701”, “1?nomax”) in new stack
– Goto (macro-dialout-trunk,s,9)
– Executing [s@macro-dialout-trunk:9] GotoIf(“IAX2/ukr-4701”, “1?skipoutcid”) in new stack
– Goto (macro-dialout-trunk,s,12)
– Executing [s@macro-dialout-trunk:12] AGI(“IAX2/ukr-4701”, “fixlocalprefix”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
– AGI Script fixlocalprefix completed, returning 0
– Executing [s@macro-dialout-trunk:13] Set(“IAX2/ukr-4701”, “OUTNUM=13106465252”) in new stack
– Executing [s@macro-dialout-trunk:14] Set(“IAX2/ukr-4701”, “custom=ZAP/g0”) in new stack
– Executing [s@macro-dialout-trunk:15] GotoIf(“IAX2/ukr-4701”, “1?gocall”) in new stack
– Goto (macro-dialout-trunk,s,17)
– Executing [s@macro-dialout-trunk:17] Macro(“IAX2/ukr-4701”, “dialout-trunk-predial-hook|”) in new stack
– Executing [s@macro-dialout-trunk:18] GotoIf(“IAX2/ukr-4701”, “0?bypass|1”) in new stack
– Executing [s@macro-dialout-trunk:19] GotoIf(“IAX2/ukr-4701”, “0?customtrunk”) in new stack
– Executing [s@macro-dialout-trunk:20] Dial(“IAX2/ukr-4701”, “ZAP/g0/13106465252|300|TtrwW”) in new stack
– Making new call for cr 32801
– Requested transfer capability: 0x00 - SPEECH
Protocol Discriminator: Q.931 (8) len=51
Call Ref: len= 2 (reference 33/0x21) (Originator)
Message type: SETUP (5)
[04 03 80 90 a2]
Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer capability: Speech (0)
Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)
User information layer 1: u-Law (34)
[18 04 e9 80 83 81]
Channel ID (len= 6) [ Ext: 1 IntID: Explicit PRI Spare: 0 Exclusive Dchan: 0
ChanSel: As indicated in following octets
Ext: 1 DS1 Identifier: 0
Ext: 1 Coding: 0 Number Specified Channel Type: 3
Ext: 1 Channel: 1 ]
[28 0b b1 4c 41 4e 20 41 64 6d 69 6e 73]
Display (len=11) Charset: 31 [ UA ]
[6c 06 21 83 38 39 38 39]
Calling Number (len= 8) [ Ext: 0 TON: National Number (2) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1)
Presentation: Presentation allowed of network provided number (3) ‘5933’ ]
[70 0c 80 31 33 31 30 36 34 36 35 32 35 32]
Called Number (len=14) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) ‘13106465252’ ]
q931.c:3092 q931_setup: call 32801 on channel 1 enters state 1 (Call Initiated)
– Called g0/13106465252
< Protocol Discriminator: Q.931 (8) len=9
< Call Ref: len= 2 (reference 33/0x21) (Terminator)
< Message type: RELEASE COMPLETE (90)
< [08 02 80 90]
< Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: User (0)
< Ext: 1 Cause: Normal Clearing (16), class = Normal Event (1) ]
– Processing IE 8 (cs0, Cause)
q931.c:3724 q931_receive: call 32801 on channel 1 enters state 0 (Null)
– Channel 0/1, span 1 got hangup, cause 16
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null
– Hungup ‘Zap/1-1’
– No one is available to answer at this time (1:0/0/0)
– Executing [s@macro-dialout-trunk:21] Goto(“IAX2/ukr-4701”, “s-NOANSWER|1”) in new stack
– Goto (macro-dialout-trunk,s-NOANSWER,1)
– Executing [s-NOANSWER@macro-dialout-trunk:1] NoOp(“IAX2/ukr-4701”, “Dial failed due to trunk reporting NOANSWER - giving up”) in new stack
– Executing [s-NOANSWER@macro-dialout-trunk:2] PlayTones(“IAX2/ukr-4701”, “congestion”) in new stack
– Executing [s-NOANSWER@macro-dialout-trunk:3] Congestion(“IAX2/ukr-4701”, “20”) in new stack
== Spawn extension (macro-dialout-trunk, s-NOANSWER, 3) exited non-zero on ‘IAX2/ukr-4701’ in macro ‘dialout-trunk’
== Spawn extension (macro-dialout-trunk, s-NOANSWER, 3) exited non-zero on ‘IAX2/ukr-4701’
– Executing [h@macro-dialout-trunk:1] Macro(“IAX2/ukr-4701”, “hangupcall|”) in new stack
– Executing [s@macro-hangupcall:1] ResetCDR(“IAX2/ukr-4701”, “w”) in new stack
– Executing [s@macro-hangupcall:2] NoCDR(“IAX2/ukr-4701”, “”) in new stack
– Executing [s@macro-hangupcall:3] GotoIf(“IAX2/ukr-4701”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,6)
– Executing [s@macro-hangupcall:6] GotoIf(“IAX2/ukr-4701”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] GotoIf(“IAX2/ukr-4701”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,11)
– Executing [s@macro-hangupcall:11] Hangup(“IAX2/ukr-4701”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘IAX2/ukr-4701’ in macro ‘hangupcall’
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘IAX2/ukr-4701’
– Hungup ‘IAX2/ukr-4701’

Any help is appreciated! Help please!

You have a normal clear. It is possible that you are encountering a known problem in Dial (I think it has been fixed recently) which causes very fast clears to be misinterpreted. That leaves the question of why you have had a fast clear. The problem is likely to be on the circuit switched side, but, if you have cause 16, there may be little information from a trace.

David, thanks for reply!
Could you point where any setting for the clears, cause I guessed it should be reconfigured not to be so fast. And I’ve not found any information about this problem, so if it is known issue I hope some URLs from you could clarify the situation.
Thanks in advance

If you have the case where Dial treats a clear before the first status poll as a failed, rather than a short call, the reason the clear is so fast relates to the remote system.

If all you calls clear this way, there is probablly something that the remote system doesn’t like, but you are going to need to look at the logs from that system to work out what it is.