Outbound call not working unless amportal restart

Hi all,

I wonder if you can give me some hint on the problem that I have with outgoing call.

I am using asterisk 1.8.6.0 and I cannot make an outgoing call unless I did an asterisk restart with ‘amportal restart’. I am hoping that someone is have a more elegant solution than the one I am having. Basically, I can only hear one ring and then there is complete silence after that.

Thank you.

what is the cli output when you are calling?

the output is pretty long, here is a partial output at the end. hope it can give you some idea.

-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("SIP/100-00000004", "USEROUTCID=5083409828") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("SIP/100-00000004", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("SIP/100-00000004", "TRUNKOUTCID=5087099119") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/100-00000004", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/100-00000004", "1?Set(CALLERID(all)=5087099119)") in new stack
-- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/100-00000004", "1?Set(CALLERID(all)=5083409828)") in new stack
-- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/100-00000004", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/100-00000004", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
-- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/100-00000004", "1?sub-flp-2,s,1") in new stack
-- Executing [s@sub-flp-2:1] ExecIf("SIP/100-00000004", "0?Return()") in new stack
-- Executing [s@sub-flp-2:2] Return("SIP/100-00000004", "") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("SIP/100-00000004", "OUTNUM=15083409828") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/100-00000004", "custom=SIP/sipsorcery") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/100-00000004", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack
-- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/100-00000004", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack
-- Executing [s@macro-dialout-trunk:17] Macro("SIP/100-00000004", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/100-00000004", "") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/100-00000004", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:19] GotoIf("SIP/100-00000004", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:20] Dial("SIP/100-00000004", "SIP/sipsorcery/15083409828,300,") in new stack

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/sipsorcery/15083409828
– SIP/sipsorcery-00000005 is ringing
– SIP/sipsorcery-00000005 answered SIP/100-00000004
– Locally bridging SIP/100-00000004 and SIP/sipsorcery-00000005
– Executing [h@macro-dialout-trunk:1] Macro(“SIP/100-00000004”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/100-00000004”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] Hangup(“SIP/100-00000004”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on ‘SIP/100-00000004’ in macro ‘hangupcall’
== Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on ‘SIP/100-00000004’
== Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on ‘SIP/100-00000004’ in macro ‘dialout-trunk’
== Spawn extension (from-internal, 15083409828, 5) exited non-zero on ‘SIP/100-00000004’
> doing dnsmgr_lookup for ‘sipsorcery.com
> Saved useragent “iAN-02EX V2.8.2.63b” for peer 100
localhost*CLI>

That shows a successful call (although it might have been cleared as soon as it was established).

We need the output for the second call when you cannot call again. And run “core show channels verbose” too.

Hi

believe it or not, that log was not for a successful call. I found that even when the call is not successful, the call went through and the remote phone ring. Then, if I picked up the remote phone then it can hear the other phone but the other phone cannot hear the remote phone.

Another thing that I also found is that if I use x-lite softphone to make a call then it works perfectly. Only when I tried to make the call on my ATA + phone then it only has one ring and then complete silence after that.

I also tried two android sip clients: sipdroid and 3CX. sipdroid has the same problem with my ATA phone but 3CX worked perfect just like the x-lite phone.

There must be some differences in the clients that make one work well and not another. I just don’t have a handle on what that is.

For the benefit of those newbies who might run into the same problem that I had, I was able to solve my outgoing call problem by open the UDP port 10000-20000 on my router firewall so that the asterisk server could receive media stream.