FreePBX | Register | Issues | Wiki | Portal | Support

PJSIP trunk lost connectivity


(Daniel Bareiro) #1

Hi all!

I am currently doing some testing with a PJSIP trunk on FreePBX 13/Asterisk 13. The connection is against a SIP provider. I have also configured the server of this provider in another Asterisk where I keep a trunk using chan_sip and in this case I do not lose connectivity. I’m not sure why it happens with PJSIP.

The messages I see on the Asterisk CLI are the following:

[2016-08-06 13:08:01] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:09:33] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:11:05] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:12:37] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:14:09] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:15:41] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:17:13] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:18:45] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:20:17] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:21:49] WARNING[32331]: res_pjsip_outbound_registration.c:761 schedule_retry: No response received from 'sip:sip01.xxxxxxxxxx.com:5060' on registration attempt to 'sip:xztv@sip01.xxxxxxxxxx.com:5060', retrying in '60'
[2016-08-06 13:23:21] WARNING[32331]: res_pjsip_outbound_registration.c:849 handle_registration_response: Maximum retries reached when attempting outbound registration to 'sip:sip01.xxxxxxxxxx.com:5060' with client 'sip:xztv@sip01.xxxxxxxxxx.com:5060', stopping registration attempt

Any clues where about might be the problem? The server seems to be resolving correctly by making a test using dig

Thanks in advance.

Kind regards,
Daniel


(Psdk ) #2

do you configure pjsip with default port?


(Daniel Bareiro) #3

Hi, psdk.

Thanks for your reply.

As you can see in the logs of the previous message, the connection is against the port 5060 of the SIP server for this provider. At first the connection is established, but after some time it was lost.

This catches my attention because I have another Asterisk having a trunk against the same server and it is strange that when comparing the same time window, the trunk with chan_sip has no problem but the trunk with chan_pjsip loses connection. The server using chan_sip is running on a KVM virtual machine. The FreePBX/Asterisk using chan_pjsip with this problem is running on a LXC container. I’m not sure if this might have to do with the problem.

Now the connection has been reestablished again without having made any changes. But instability worries me.

Another thing I’m not clear is why when seeing the graph on the dashboard of FreePBX, the trunk is shown in online state. But on the CLI I get a status of “Rejected”.

pbxtest*CLI> pjsip show registrations

 <Registration/ServerURI..............................>  <Auth..........>  <Status.......>

=========================================================================================

 Cableway_Trunk1/sip:sip01.xxxxxxxxxx.com:5060          Provider_Trunk1   Rejected        

Thanks for your time.

Kind regards,
Daniel


(Psdk ) #4

I suggest to enable pjsip logs with “pjsip set logger on” in Asterisk CLI, and then see when your server send registration request, what reply it receives?!

please see this too:
https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Configuration_res_pjsip_outbound_registration


(Daniel Bareiro) #5

Hi, psdk.

Thanks for your suggestion and references. I have enabled the logs. I’ll be paying attention in the coming days on the behavior of the trunk.

Kind regards,
Daniel


(Daniel Bareiro) #6

Right now I have the trunk down but actually it seems to be a problem with the provider. Chan_pjsip apparently tried to connect several times and then stopped at a maximum of 10 attempts.

[2016-08-14 12:04:22] WARNING[910]: res_pjsip_outbound_registration.c:849 handle_registration_response: Maximum retries reached when attempting outbound registration to 'sip:sip01.xxxxx.com:5060' with client 'sip:xyzt@sip01.xxxxx.com:5060', stopping registration attempt

I see that this is a set on the trunk itself rather than the general SIP configuration: pjsip Settings tab -> Advanced tab -> Max Retries.

Is there any way to set the amount of attempts to infinity? In the Settings -> Asterisk SIP Settings menu of the general SIP configuration, chan SIP have the option: Registration Settings -> Registration Attempts, where a value of 0 means keep trying forever. But I have not seen anything like that in the Chan PJSIP Settings tab, and <trunk_name> -> pjsip Settings -> Advanced -> Max Retries does not specify whether a value of zero leads to the attempts are forever.

I tried to put this to zero, but seems to generate an error when applying the configuration and immediately after that error again shows the message about reached the maximum number of attempts:

[2016-08-14 12:13:47] WARNING[909]: pjproject:0 <?>:    tsx0x7f90c4000 .Error sending Request msg OPTIONS/cseq=55797 (tdta0x7f90c4029060): Transport not available for use (PJSIP_ETPNOTAVAIL)
[2016-08-14 12:13:47] WARNING[909]: pjproject:0 <?>:    tsx0x7f90c4000 .Transport error, terminating transaction. Err=171065 (Transport not available for use (PJSIP_ETPNOTAVAIL))
[2016-08-14 12:14:28] WARNING[910]: res_pjsip_outbound_registration.c:849 handle_registration_response: Maximum retries reached when attempting outbound registration to 'sip:sip01.xxxxx.com:5060' with client 'sip:xyzt@sip01.xxxxx.com:5060', stopping registration attempt

Any guidance or advice will be appreciated.

Thanks in advance.

Kind regards,
Daniel


(Daniel Bareiro) #7

Hi again.

Any thoughts about this?

Now I see such messages in the test LXC container with Asterisk 13 / FreePBX 13 (PJSIP trunk):

    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Unreachable.  RTT: 0.000 msec
  == Endpoint Provider_Trunk1 is now Unreachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Reachable.  RTT: 57.200 msec
  == Endpoint Provider_Trunk1 is now Reachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Unreachable.  RTT: 0.000 msec
  == Endpoint Provider_Trunk1 is now Unreachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Reachable.  RTT: 58.098 msec
  == Endpoint Provider_Trunk1 is now Reachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Unreachable.  RTT: 0.000 msec
  == Endpoint Provider_Trunk1 is now Unreachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xyzt.com:5060 is now Reachable.  RTT: 56.288 msec
  == Endpoint Provider_Trunk1 is now Reachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Unreachable.  RTT: 0.000 msec
  == Endpoint Provider_Trunk1 is now Unreachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Reachable.  RTT: 740.379 msec
  == Endpoint Provider_Trunk1 is now Reachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Unreachable.  RTT: 0.000 msec
  == Endpoint Provider_Trunk1 is now Unreachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Reachable.  RTT: 63.928 msec
  == Endpoint Provider_Trunk1 is now Reachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Unreachable.  RTT: 0.000 msec
  == Endpoint Provider_Trunk1 is now Unreachable
    -- Contact Provider_Trunk1/sip:xyzt@sip01.xxxxx.com:5060 is now Reachable.  RTT: 57.345 msec
  == Endpoint Provider_Trunk1 is now Reachable

This caught my attention because I have a KVM virtual machine with a trunk using chan_sip against the same SIP provider and I’m not observing these disconnections (in this case I’m using Asterisk 11).

Kind regards,
Daniel


(Tony Guadagno) #8

hi, i was wondering if you ever got any more info on this problem. i am starting to see similar issues using pjsip with phones (not trunks) and i am seeing this error when i apply config changes

[2017-07-15 11:26:35] WARNING[12778]: pjproject:0 <?>: tsx0x7fe538026888 .Error sending Request msg OPTIONS/cseq=54594 (tdta0x7fe55529e9c8): Transport not available for use (PJSIP_ETPNOTAVAIL)
[2017-07-15 11:26:35] WARNING[12778]: pjproject:0 <?>: tsx0x7fe538026888 .Transport error, terminating transaction. Err=171065 (Transport not available for use (PJSIP_ETPNOTAVAIL))

thanks