No dial-out on Raspberry PI3 registered to PBXes.org

Discussion in 'Trunks' started by sortons, Nov 1, 2018.

  1. sortons

    sortons New Member

    Joined:
    Aug 9, 2018
    Messages:
    18
    Likes Received:
    2
    Hi,
    I'm using IncrediblePBX for Raspberry PI (Asterisk 13.22.) It works properly with all providers and GVSIP is working fine with a few trunks.
    Now, as a backup route to GVSIP I created a PBXes.org trunk as detailed in the "Adding a Free GVSIP Trunk to FusionPBX and FreePBX" - http://nerdvittles.com/?p=26971.

    The PBXes.org GV trunk registers alright. Also, the IncrediblePBX trunk to PBXes.org registers fine. The extensions, incoming, outgoing routes are properly defined on both systems. Incoming calls work fine.

    On outgoing calls I get a ~20 seconds delay followed by the message "The number is not answering" and fast busy. It looks like the call reaches PBXes.org but there is no reply (see below.)

    -- Executing [[email protected]:25] Dial("SIP/901-00000002", "SIP/pbxes/18883455510,300,T") in new stack
    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    -- Called SIP/pbxes/18883455510
    [2018-11-01 13:17:12] WARNING[3878]: chan_sip.c:4069 retrans_pkt: Retransmission timeout reached on transmission [email protected]:5060 for seqno 103 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
    Packet timed out after 19968ms with no response
    [2018-11-01 13:17:12] WARNING[3878]: chan_sip.c:4093 retrans_pkt: Hanging up call [email protected]:5060 - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
    == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [[email protected]:26] NoOp("SIP/901-00000002", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 18") in new stack
    -- Executing [[email protected]:27] GotoIf("SIP/901-00000002", "0?continue,1:s-CHANUNAVAIL,1") in new stack
    -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
    -- Executing [[email protected]:1] Set("SIP/901-00000002", "RC=18") in new stack
    -- Executing [[email protected]:2] Goto("SIP/901-00000002", "18,1") in new stack
    -- Goto (macro-dialout-trunk,18,1)
    -- Executing [[email protected]:1] Goto("SIP/901-00000002", "s-NOANSWER,1") in new stack
    -- Goto (macro-dialout-trunk,s-NOANSWER,1)
    -- Executing [[email protected]:1] NoOp("SIP/901-00000002", "Dial failed due to trunk reporting NOANSWER - giving up") in new stack
    -- Executing [[email protected]:2] Progress("SIP/901-00000002", "") in new stack
    -- Executing [[email protected]:3] Playback("SIP/901-00000002", "number-not-answering,noanswer") in new stack
    -- <SIP/901-00000002> Playing 'number-not-answering.ulaw' (language 'en')
    > 0x2c76780 -- Strict RTP switching to RTP target address 192.168.x.x:5020 as source
    > 0x2c76780 -- Strict RTP learning complete - Locking on source address 192.168.x.x:5020
    -- Executing [[email protected]:4] Congestion("SIP/901-00000002", "20") in new stack
    [2018-11-01 13:17:14] WARNING[5096][C-00000001]: channel.c:5080 ast_prod: Prodding channel 'SIP/901-00000002' failed
    == Spawn extension (macro-dialout-trunk, s-NOANSWER, 4) exited non-zero on 'SIP/901-00000002' in macro 'dialout-trunk'
    == Spawn extension (from-internal, 18883455510, 6) exited non-zero on 'SIP/901-00000002'
    -- Executing [[email protected]:1] Macro("SIP/901-00000002", "hangupcall") in new stack
    -- Executing [[email protected]:1] GotoIf("SIP/901-00000002", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [[email protected]:3] ExecIf("SIP/901-00000002", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [[email protected]:4] Hangup("SIP/901-00000002", "") in new stack
    == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/901-00000002' in macro 'hangupcall'
    == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/901-00000002'

    The error showing on phone system is: "503 VoIP status code: 0x503 The server is temporarily unable to process the request due to a temporary overloading or maintenance of the server." However, I can dial out through PBXes on the same GV trunk from other extensions, not through the PI3 though.

    I do not have firewall or NAT issues with any other provider. I tried IncrediblePBX installed on Hiformance connecting to PBXes.org and it works well, no issues there.

    Another test that worked well is connecting the Gigagset phone system (on the same network) directly to PBXes.org and that works well, too.
    ... and, yes, I did ./add-fqdn pbxes pbxes.org and iptables-restart

    I'd like though to have this working on the PI3 for all the evident reasons. Any suggestions?
     
    #1 sortons, Nov 1, 2018
    Last edited: Nov 1, 2018
  2. sortons

    sortons New Member

    Joined:
    Aug 9, 2018
    Messages:
    18
    Likes Received:
    2
    Update:
    I ran a SIP trace and it shows "SIP/2.0 401 Unauthorized". I removed the password both in RasPI and PBXes extension, registration works, dial-out works.

    So, it works without a password, but when adding one it stops dialing-out. That's what I have in "Peer details":

    type=peer
    secret=<empty>
    qualify=yes
    nat=yes
    insecure=port,invite
    host=pbxes.org
    fromuser=xxxxx-xxx
    dtmfmode=rfc2833
    dtmf=rfc2833
    disallow=all
    defaultuser=xxxxxx-xxx
    context=from-trunk
    canreinvite=yes
    authuser=xxxxxx-xxx
    allow=ulaw

    ...and "Register string":
    xxxxxx-xxx:<empty>@pbxes.org/NXXNXXXXXX

    So, it works fine without password on a chan_sip trunk, and it works well with a password in a chan_pjsip trunk. As recommended, I prefer the sip trunk if it'd work with a password.

    Any suggestions please?
     
  3. Pipertommyt

    Pipertommyt New Member

    Joined:
    Nov 12, 2018
    Messages:
    2
    Likes Received:
    0
    having the exact same problem, Raspberry 3 also.


    Total newbie here, this is only way I could make use of Google Voice.
     
  4. sortons

    sortons New Member

    Joined:
    Aug 9, 2018
    Messages:
    18
    Likes Received:
    2
    Update - SOLVED

    I provided the nice folks at PBXes.org a sip trace of the failure. They came back with the following:
    "When you use chan_sip your INVITE message gets too long, exceeding maximum packet length on UDP. You can either switch to TCP or reduce packet length by adding "icesupport=no" to your sip.conf."

    So I've added "icesupport=no" to the 'peer details' on the 'sip settings' tab of the PBXes.org trunk. Dial-out works now with the password set on the extension.
    Looks like this issue is specific to IncrediblePBX running on Raspberry, since I have not seen this on trunks from instances running in the cloud.
     
  5. Pipertommyt

    Pipertommyt New Member

    Joined:
    Nov 12, 2018
    Messages:
    2
    Likes Received:
    0
    Thanks Sortons, made changes, this took care of problem!