This one should be easy

Discussion in 'General' started by vloose, Jun 30, 2009.

  1. vloose

    Joined:
    Dec 2, 2008
    Messages:
    64
    Likes Received:
    0
    I rebooted my phone system the other night and ever since I can't get my phones connected to the external interface to register. All phones on the internal interface work great. Same exact thing happens with my test server. Sounds just like a firewall to me, but:

    iptables -L -n
    Chain INPUT (policy ACCEPT)
    target prot opt source destination

    Chain FORWARD (policy ACCEPT)
    target prot opt source destination

    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination

    In the asterisk log:

    [Jun 30 08:56:07] NOTICE[3054] chan_sip.c: Peer '503' is now Reachable. (15ms / 2000ms)
    [Jun 30 08:56:10] NOTICE[3054] chan_sip.c: Peer '516' is now UNREACHABLE! Last qualify: 0

    503 internal 516 external.

    Seems like a simple networking problem, but I'm stumped and would appreciate any troubleshooting suggestions.

    Thanks
     
  2. vloose

    Joined:
    Dec 2, 2008
    Messages:
    64
    Likes Received:
    0
    A little more information:

    I can dial an internal extension from an external phone but there is no audio when the internal phone picks up. I get a busy signal when trying to call one of the external phones from an internal phone.

    Here is a little from the log when calling from external to internal: (516 to 503)

    [Jun 30 09:27:48] WARNING[2987] rtp.c: Unable to set TOS to 184
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/503/followme/ddial not found in database.
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: Set
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: GotoIf
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: ExecIf
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: Set
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: Set
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: GotoIf
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: Set
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: Set
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: Set
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/500/language not found in database.
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/500/language not found in database.
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: ExecIf
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/500/language not found in database.
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/500/language not found in database.
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: GotoIf
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: Set
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: GotoIf
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: Noop
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/503/followme/grplist not found in database.
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: GotoIf
    [Jun 30 09:27:48] DEBUG[3195] app_macro.c: Executed application: AGI
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/503/followme/grpconf not found in database.
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/503/followme/grptime not found in database.
    [Jun 30 09:27:48] DEBUG[3195] func_db.c: DB: AMPUSER/503/followme/prering not found in database.
    [Jun 30 09:27:48] WARNING[3195] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '+', expecting $end; Input:
    +
    ^
    [Jun 30 09:27:48] WARNING[3195] ast_expr2.fl: If you have questions, please refer to doc/channelvariables.txt in the asterisk source.
    [Jun 30 09:28:14] WARNING[2987] chan_sip.c: Maximum retries exceeded on transmission 33dcc350-f87e98b1-1e7509aa@192.168.2.2 for seqno 2 (Critical Response) -- See doc/sip-retransmit.txt.
     
  3. Megabyte

    Joined:
    Mar 28, 2009
    Messages:
    327
    Likes Received:
    0
    Do you have a public IP address in your elastix pbx, it sounds like a NAT problem create an /etc/asterisk/sip_nat.conf file with AT LEAST these three lines: 1) nat=yes 2) externip=your.external.IPaddess (or externhost=your.external.hostname) 3) localnet=192.168.0.0/24 (assuming your network uses 192.168.0.x addresses).


    If you dont have a public IP you have to play with port forwarding into you router where you have to foward your 5060 udp to your elastix ip address an verify /etc/asterisk/rtp.conf shows rtpstart=10000 and rtpend=20000 and make a foward too.


    Alfio Munoz
    Aiatek
    ECE
     
  4. vloose

    Joined:
    Dec 2, 2008
    Messages:
    64
    Likes Received:
    0
    Thanks for the quick response Alfio.

    I do have an external IP on the outside interface so I checked the settings in the sip_nat.conf file and they needed a little tweaking. I never paid much attention to that file before so thanks for pointing me to that.

    Those changes don't appear to be enough to get me going so I am still looking for suggestions.
     
  5. Megabyte

    Joined:
    Mar 28, 2009
    Messages:
    327
    Likes Received:
    0
    Do you have a firewall or another security device in front of your elastix server? maybe you have access-list or IPTABLES issue in that device. You can get a SIP softphone from outside to get registered? can you ping your external IP address from outside>
    ?



    Alfio Munoz
    Aiatek
    ECE
     
  6. vloose

    Joined:
    Dec 2, 2008
    Messages:
    64
    Likes Received:
    0
    Finally getting back to the solution I found. Although not a good one, I changed my IP address do a different IP and rebooted and changed the IP back to its original IP fixed the problem with both the test server and the live server. Hopefully this makes sense to someone out there and they can post an easier fix if this ever happens to someone else.
     

Share This Page