Calls drop only when connected from external IP

oohsam

Joined
Dec 13, 2010
Messages
1
Likes
0
Points
0
#1
Hi all,
I've spent the past few weeks setting up a test elastix box, and shaking out any issues before going to my productionised version.

Production install went smoothly. The only issue I have seen in both instances is that any connection to the elastix server from an external IP address (which works fine), the calls drop at about 12seconds or about 20 seconds.

Funny thing is, when i make the call (using xlite) to my mobile, my mobile will hang up after 12 seconds, yet, xlite has not registred that the call is dropped.
I'm thinking that its not receiving a confirmation packet for a keep-alive or something of the sort and thinks the ccall is still valid.

The other thing to add here, is that I'm using a Draytek Voip modem. This modem is a slight issue, as I am unable to forward port 5060 to my elastix server, so it does not work when its binded to 5060. I have to set elastix to a differnet bindport. In my isntance I'm using port 6666.
all internal hosts connect to 6666. However external ports are unable to connect to that port for some reason. I have forwarded 6667 (external) to 6666 internally (to my elastix box).
Its quite obscure, and have no idea why its doing that, but its the only way to connect externally.

Here is the log from a call..If anyone can shed some light that would be ideal.

Cheers.


Code:
 -- Executing [0421XXXXXX@from-internal:1] Macro("SIP/2000-0000000e", "user-callerid,SKIPTTL,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/2000-0000000e", "AMPUSER=2000") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/2000-0000000e", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("SIP/2000-0000000e", "1?Set(REALCALLERIDNUM=2000)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("SIP/2000-0000000e", "AMPUSER=2000") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/2000-0000000e", "AMPUSERCIDNAME=Sameh Roaming") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/2000-0000000e", "0?report") in new stack
    -- Executing [s@macro-user-callerid:7] Set("SIP/2000-0000000e", "AMPUSERCID=2000") in new stack
    -- Executing [s@macro-user-callerid:8] Set("SIP/2000-0000000e", "CALLERID(all)="Sameh Roaming" <2000>") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("SIP/2000-0000000e", "0?Set(CHANNEL(language)=)") in new stack
    -- Executing [s@macro-user-callerid:10] GotoIf("SIP/2000-0000000e", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] NoOp("SIP/2000-0000000e", "Using CallerID "Sameh Roaming" <2000>") in new stack
    -- Executing [0421XXXXXX@from-internal:2] Set("SIP/2000-0000000e", "_NODEST=") in new stack
    -- Executing [0421XXXXXX@from-internal:3] Macro("SIP/2000-0000000e", "record-enable,2000,OUT,") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("SIP/2000-0000000e", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("SIP/2000-0000000e", "0?MacroExit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("SIP/2000-0000000e", "0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("SIP/2000-0000000e", "0?IN") in new stack
    -- Executing [s@macro-record-enable:16] ExecIf("SIP/2000-0000000e", "1?MacroExit()") in new stack
    -- Executing [0421XXXXXX@from-internal:4] Macro("SIP/2000-0000000e", "dialout-trunk,2,0421XXXXXX,,") in new stack
    -- Executing [s@macro-dialout-trunk:1] Set("SIP/2000-0000000e", "DIAL_TRUNK=2") in new stack
    -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/2000-0000000e", "0?sub-pincheck,s,1") in new stack
    -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/2000-0000000e", "0?disabletrunk,1") in new stack
    -- Executing [s@macro-dialout-trunk:4] Set("SIP/2000-0000000e", "DIAL_NUMBER=0421XXXXXX") in new stack
    -- Executing [s@macro-dialout-trunk:5] Set("SIP/2000-0000000e", "DIAL_TRUNK_OPTIONS=tr") in new stack
    -- Executing [s@macro-dialout-trunk:6] Set("SIP/2000-0000000e", "OUTBOUND_GROUP=OUT_2") in new stack
    -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/2000-0000000e", "1?nomax") in new stack
    -- Goto (macro-dialout-trunk,s,9)
    -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/2000-0000000e", "0?skipoutcid") in new stack
    -- Executing [s@macro-dialout-trunk:10] Set("SIP/2000-0000000e", "DIAL_TRUNK_OPTIONS=") in new stack
    -- Executing [s@macro-dialout-trunk:11] Macro("SIP/2000-0000000e", "outbound-callerid,2") in new stack
    -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/2000-0000000e", "0?Set(CALLERPRES()=)") in new stack
    -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/2000-0000000e", "0?Set(REALCALLERIDNUM=2000)") in new stack
    -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/2000-0000000e", "1?normcid") in new stack
    -- Goto (macro-outbound-callerid,s,6)
    -- Executing [s@macro-outbound-callerid:6] Set("SIP/2000-0000000e", "USEROUTCID=") in new stack
    -- Executing [s@macro-outbound-callerid:7] Set("SIP/2000-0000000e", "EMERGENCYCID=") in new stack
    -- Executing [s@macro-outbound-callerid:8] Set("SIP/2000-0000000e", "TRUNKOUTCID=0386835051") in new stack
    -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/2000-0000000e", "1?trunkcid") in new stack
    -- Goto (macro-outbound-callerid,s,12)
    -- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/2000-0000000e", "1?Set(CALLERID(all)=0386835051)") in new stack
    -- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/2000-0000000e", "0?Set(CALLERID(all)=)") in new stack
    -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/2000-0000000e", "0?Set(CALLERID(all)=)") in new stack
    -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/2000-0000000e", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
    -- Executing [s@macro-dialout-trunk:12] ExecIf("SIP/2000-0000000e", "0?AGI(fixlocalprefix)") in new stack
    -- Executing [s@macro-dialout-trunk:13] Set("SIP/2000-0000000e", "OUTNUM=0421XXXXXX") in new stack
    -- Executing [s@macro-dialout-trunk:14] Set("SIP/2000-0000000e", "custom=SIP/Pennytel") in new stack
    -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/2000-0000000e", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^))") in new stack
    -- Executing [s@macro-dialout-trunk:16] Macro("SIP/2000-0000000e", "dialout-trunk-predial-hook,") in new stack
    -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/2000-0000000e", "") in new stack
    -- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/2000-0000000e", "0?bypass,1") in new stack
    -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/2000-0000000e", "0?customtrunk") in new stack
    -- Executing [s@macro-dialout-trunk:19] Dial("SIP/2000-0000000e", "SIP/Pennytel/0421XXXXXX,300,") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP VRTP TOS bits 136
  == Using SIP VRTP CoS mark 6
    -- Called Pennytel/0421XXXXXX
    -- SIP/Pennytel-0000000f is making progress passing it to SIP/2000-0000000e
    -- SIP/Pennytel-0000000f answered SIP/2000-0000000e
    -- Packet2Packet bridging SIP/2000-0000000e and SIP/Pennytel-0000000f
    -- Executing [h@macro-dialout-trunk:1] Macro("SIP/2000-0000000e", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/2000-0000000e", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] NoOp("SIP/2000-0000000e", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:4] GotoIf("SIP/2000-0000000e", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s@macro-hangupcall:7] GotoIf("SIP/2000-0000000e", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,10)
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/2000-0000000e", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,12)
    -- Executing [s@macro-hangupcall:12] Hangup("SIP/2000-0000000e", "") in new stack
  == Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'SIP/2000-0000000e' in macro 'hangupcall'
  == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/2000-0000000e' in macro 'dialout-trunk'
  == Spawn extension (from-internal, 0421XXXXXX, 4) exited non-zero on 'SIP/2000-0000000e'
Here is my sip.conf

Code:
[general]


; These files will all be included in the [general] context
;
#include sip_general_additional.conf
srvlookup=yes


;sip_general_custom.conf is the proper file location for placing any sip general 
;options that you might need set. For example: enable and force the sip jitterbuffer. 
;If these settings are desired they should be set the sip_general_custom.conf file.
;
; jbenable=yes
; jbforce=yes
;
;It is also the proper place to add the lines needed for sip nat'ing when going
;through a firewall.  For nat'ing you'd need to add the following lines: 
; nat=yes , externip= , localhost= , and optionally fromdomain= .
;
#include sip_general_custom.conf


;sip_nat.conf is here for legacy support reasons and for those that upgrade 
;from previous versions.  If you have this file with lines in it please make
;sure they are not duplicated in sip_general_custom.conf, if so remove them 
;from sip_nat.conf as sip_general_custom.conf will have precedence.
#include sip_nat.conf


;sip_registrations_custom.conf is for any customizations you might need to do to
;the automatically generated registrations that FreePBX makes.
;
#include sip_registrations_custom.conf
#include sip_registrations.conf


; These files should all be expected to come after the [general] context
;
#include sip_custom.conf
#include sip_additional.conf


;sip_custom_post.conf If you have extra parameters that are needed for a 
;extension to work to for example, those go here.  So you have extension 
;1000 defined in your system you start by creating a line [1000](+) in this 
;file.  Then on the next line add the extra parameter that is needed.  
;When the sip.conf is loaded it will append your additions to the end of 
;that extension. 
;
#include sip_custom_post.conf
and SIP_general_custom.conf

Code:
language=au 
videosupport=yes 
;allow=g729 
;allow=g723 
;allow=h261 
;allow=h263 
;allow=h263p
;defaultexpirey=600 
;maxexpirey=3600 
bindport=6666
useragent=blahblah
 

soulkeep

Joined
Jan 9, 2012
Messages
1
Likes
0
Points
0
#2
Hi Oohsam

I have the same issue, and I see no answer in this post. Can you fix this issue?

I have installed the last stable version 2.3.0, all modules updated, and internally works fine.

For external connection I have 2 different and good internet connections and I test with several softwares, from my pc and iphone 4.

Please some one can help me?

Regards,
 

Bob

Joined
Nov 4, 2007
Messages
2,400
Likes
1
Points
36
#3
Soulkeep,

If your issue is exactly the same, then it is going to come down to NAT, especially based on those timings.

Can you detail your problem in a little more detail, and include your Router type, what ports you have forwarded.

Regards

Bob
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,902
Messages
130,887
Members
17,566
Latest member
Fpino
Top