Outbound call is drop once a tone is received

I have a Trixbox with Version 2.8.0.4, FreePBX Version 2.6.0 and an Asterisk Version 1.6.0.26 running on Centos Release 5.5 (Final).

I’m currently using Xlite Softphone and some Cisco SPA504G as my devices for my extensions.

And I have tried to test the problem below with the soft phones and hard phones and I get the same results. Here is the scenario of my problem:

  1. I will dial an outgoing line from my extension and dial a 1800 number
  2. I will be able to connect to the 1800 number and I will hear the announcement asking me to provide information. The 1800 number is a Meet Me conference number and I will be able to enter the passcode to the conference but then when the message “After the tone please state your name” and when the tone is heard the line gets drop.

I’m using a Draytek 3300V as my FXO port and I have configured this without any problem. I can also use the FXO ports without any problem when I dial any number except when I receive any tone from the receiving party.

Appreciate your help. Thanks

I have seen some cases of softphones automatically closing the calls and sending BYE SIP messages. Could you record the SIP traffic from the PC running the xlite? You can use wireshark for this purpose.

@valer77 thank you for your reply. The problem occurs as well when I use my Cisco IP Phone SPA504G. I’m totally replacing the softphones in my current configuration so appreciate if you can give me some advice if there is a setting that I have to change in SPA504G.

Anyone who can help me diagnose and resolve this problem?

Hi

Disable call progress tone detection. also what does the verbose output of you system show when the call drops.

[quote=“ianplain”]Hi

Disable call progress tone detection. also what does the verbose output of you system show when the call drops.[/quote]

Hello ianplain,

Thanks for your reply. I followed your instructions and added callprogress=no in my zapata_additional.conf and then realized this should be for Digium and other cards which currently I do not have. My POTS are connected to FXO ports using draytek 3300V router. Here is my verbose output when I initiated the call up to the point where it hang up after receiving a tone.

== Parsing ‘/etc/asterisk/asterisk.conf’: == Found
== Parsing ‘/etc/asterisk/extconfig.conf’: == Found
Connected to Asterisk 1.6.0.26-FONCORE-r78 currently running on dsctrixbox (pid = 3205)
Verbosity was 6 and is now 7
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Executing [305@from-internal:1] Macro(“SIP/500-00000bfa”, “exten-vm,novm,305”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“SIP/500-00000bfa”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/500-00000bfa”, “AMPUSER=500”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/500-00000bfa”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/500-00000bfa”, “1?Set(REALCALLERIDNUM=500)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/500-00000bfa”, “AMPUSER=500”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/500-00000bfa”, “AMPUSERCIDNAME=Noel Flores SIP”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/500-00000bfa”, “0?report”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/500-00000bfa”, “AMPUSERCID=500”) in new stack
– Executing [s@macro-user-callerid:8] Set(“SIP/500-00000bfa”, “CALLERID(all)=“Noel Flores SIP” <500>”) in new stack
– Executing [s@macro-user-callerid:9] ExecIf(“SIP/500-00000bfa”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [s@macro-user-callerid:10] GotoIf(“SIP/500-00000bfa”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:11] Set(“SIP/500-00000bfa”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:12] GotoIf(“SIP/500-00000bfa”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,19)
– Executing [s@macro-user-callerid:19] Set(“SIP/500-00000bfa”, “CALLERID(number)=500”) in new stack
– Executing [s@macro-user-callerid:20] Set(“SIP/500-00000bfa”, “CALLERID(name)=Noel Flores SIP”) in new stack
– Executing [s@macro-user-callerid:21] NoOp(“SIP/500-00000bfa”, “Using CallerID “Noel Flores SIP” <500>”) in new stack
– Executing [s@macro-exten-vm:2] Set(“SIP/500-00000bfa”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“SIP/500-00000bfa”, “VMBOX=novm”) in new stack
– Executing [s@macro-exten-vm:4] Set(“SIP/500-00000bfa”, “EXTTOCALL=305”) in new stack
– Executing [s@macro-exten-vm:5] Set(“SIP/500-00000bfa”, “CFUEXT=”) in new stack
– Executing [s@macro-exten-vm:6] Set(“SIP/500-00000bfa”, “CFBEXT=”) in new stack
– Executing [s@macro-exten-vm:7] Set(“SIP/500-00000bfa”, “RT=”"") in new stack
– Executing [s@macro-exten-vm:8] Macro(“SIP/500-00000bfa”, “record-enable,305,IN”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“SIP/500-00000bfa”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] ExecIf(“SIP/500-00000bfa”, “0?MacroExit()”) in new stack
– Executing [s@macro-record-enable:5] GotoIf(“SIP/500-00000bfa”, “0?Group:OUT”) in new stack
– Goto (macro-record-enable,s,15)
– Executing [s@macro-record-enable:15] GotoIf(“SIP/500-00000bfa”, “1?IN”) in new stack
– Goto (macro-record-enable,s,20)
– Executing [s@macro-record-enable:20] ExecIf(“SIP/500-00000bfa”, “0?MacroExit()”) in new stack
– Executing [s@macro-record-enable:21] NoOp(“SIP/500-00000bfa”, “Recording enable for 305”) in new stack
– Executing [s@macro-record-enable:22] Set(“SIP/500-00000bfa”, “CALLFILENAME=20120110-124004-1326170404.5859”) in new stack
– Executing [s@macro-record-enable:23] MixMonitor(“SIP/500-00000bfa”, “20120110-124004-1326170404.5859.wav,”) in new stack
– Executing [s@macro-record-enable:24] MacroExit(“SIP/500-00000bfa”, “”) in new stack
– Executing [s@macro-exten-vm:9] Macro(“SIP/500-00000bfa”, “dial,”",tr,305") in new stack
== Begin MixMonitor Recording SIP/500-00000bfa
– Executing [s@macro-dial:1] GotoIf(“SIP/500-00000bfa”, “1?dial”) in new stack
– Goto (macro-dial,s,3)
– Executing [s@macro-dial:3] AGI(“SIP/500-00000bfa”, “dialparties.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
dialparties.agi: Caller ID name is ‘Noel Flores SIP’ number is ‘500’
> dialparties.agi: USE_CONFIRMATION: ‘FALSE’
> dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is ‘none’
– dialparties.agi: Added extension 305 to extension map
– dialparties.agi: Extension 305 cf is disabled
– dialparties.agi: Extension 305 do not disturb is disabled
> dialparties.agi: extnum 305 has: cw: 1; hascfb: 0 [] hascfu: 0 []
dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
– dialparties.agi: dbset CALLTRACE/305 to 500
– dialparties.agi: Filtered ARG3: 305
– <SIP/500-00000bfa>AGI Script dialparties.agi completed, returning 0
– Executing [s@macro-dial:7] Dial(“SIP/500-00000bfa”, “SIP/305,”",tr") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called 305
– SIP/305-00000bfb is ringing
– SIP/305-00000bfb answered SIP/500-00000bfa
– Executing [h@macro-dial:1] Macro(“SIP/500-00000bfa”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/500-00000bfa”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“SIP/500-00000bfa”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“SIP/500-00000bfa”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“SIP/500-00000bfa”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/500-00000bfa’ in macro ‘hangupcall’
== Spawn extension (macro-dial, h, 1) exited non-zero on ‘SIP/500-00000bfa’
== Spawn extension (macro-dial, s, 7) exited non-zero on ‘SIP/500-00000bfa’ in macro ‘dial’
== Spawn extension (macro-exten-vm, s, 9) exited non-zero on ‘SIP/500-00000bfa’ in macro ‘exten-vm’
== Spawn extension (from-internal, 305, 1) exited non-zero on ‘SIP/500-00000bfa’
– Executing [h@from-internal:1] Macro(“SIP/500-00000bfa”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/500-00000bfa”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“SIP/500-00000bfa”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“SIP/500-00000bfa”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“SIP/500-00000bfa”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/500-00000bfa’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/500-00000bfa’
== MixMonitor close filestream
== End MixMonitor Recording SIP/500-00000bfa

Anyone who has experience this problem?

Actually, you want the SIP trace for both sides as it is not clear which side is clearing.