Outbound call not working unless amportal restart


#1

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.


#2

what is the cli output when you are calling?


#3

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>


#4

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


#5

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


#6

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.


#7

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.