One extension, two phones, only most recently booted rings

Encountering an interesting issue: I used the gui to place one extension on two different endpoints (both Grandstream 2135s). Only the most recently booted endpoint rings and if that one is unplugged, the other still does not ring until it is rebooted and becomes the ‘most recent.’

I have another extension that is on two endpoints and calls ring both with no problem, but one of them in that case was set up from from the endpoint’s web interface and the other was set up in the gui for FreePBX (for other reason apart from having the same extension on two endpoints). We want to not have to split the setup process like this in cases that require the same extension ringing in multiple offices/buildings and so want to just use the gui.

Is there something particular to setting up one extension on two different endpoints in the FreePBX gui that I’m missing to cause this ‘only most recently booted rings’ thing?

If this is a chan_sip extension you are limited to a single registered device. If it’s a pjsip extension, you need to modify the ‘max contaxts’ parameter on the Advanced tab to a value equal or higher than the max number of registered devices.

Thanks for your reply. I should have included that it is pjsip, not chansip. The max contacts is set correctly. (In fact, I’m not sure I could set the extension up on two endpoints in the gui at all until that was changed, but I can confirm that the setting is greater than…)

Is this hosted or on premise? Do you have any sort of SIP-ALG router setup that the extensions register to? Don’t leave much info to go on for accurate troubleshooting.

Happy to provide more info: It is on-prem, phones register directly with Freepbx locally.

Did you try this suggestion. What you are describing is exactly what happens when you leave the max contacts option set to the default (1).

Is it calling the last booted or the first AOR? Because this is a known bad behavior of the dialplan where it was not updated to handle PJSIP.

I just submitted a fix to the parking module because it was not dialing all AOR when a parked call timed out. See this thread for reference: PJSIP extension with 2 contacts; parked call returns to wrong device after timeout

That suggestion was already confirmed in place here “Thanks for your reply. I should have included that it is pjsip, not chansip. The max contacts is set correctly.” Please see copy/paste below of text directly from gui ‘Advanced’ page for the extension in question:

Dial: PJSIP/4—
Mailbox :
Voicemail Extension:
Account Code:
Max Contacts: 5
Media Use Received Transport: Yes No

After changing Max Contacts, try restarting Asterisk. Depending on some other settings, pjsip won’t pick up the change without a restart.

Will try this and read sorvani’s thread (new to this so not immediately knowing what AOR is.)
But first the restart.

This applies to the transport sections only. While they support being reloaded it can mess with calls, etc so it’s recommended to not allow them to reload. Everything else in regards to Endpoint, Aor, and other sections just require PJSIP to be reloaded not restarted.

2 Likes

Restart did not address the issue. Ring behavior remains the same. I ran the command in the referenced thread. Unlike the example in your reply there, mine shows that Max Contacts is set to 5, but there is only one contact listed (yours showed 3 of max 4) despite both endpoints being up and showing the account on their respective Line Keys. An argument for last booted rather than first AOR?

Also, if it matters, the account on the non-ringing, not showing in contacts endpoint is registered enough to function for outbound calls.

Then you set things up wrong in the phones. If there is no AOR, the phone is not actually registered like you think it is.

Asterisk does not require registration for outgoing calls. It challenges for authentication on each INVITE received.

There is only one AOR, user@domain, there can be multiple contacts for an AOR but the Account of Record is the account not who is registered to it. There is also no “last booted” it would be “last registered” as in the device that sent the last REGISTER request.

Registration only applies to inbound requests to the phone. Outbound calls auth per call so as long as the auth is correct, no registration is required.

At this point you’re going to need to show these REGISTERs from the phone and what is happening. So you’ll need to SSH into the system and do

  1. asterisk -r
  2. pjsip set logger on
  3. Make each device register
  4. Pastebin the results of the output and give us the link.

Thank you all. I’m getting helpful corrections to my terminology as well.

Blaze, I will follow your instructions for showing REGISTERs for these devices, but it is likely to be Monday due to pre-scheduled items for the rest of the day.

Thanks again.

Last week got away from me. Below is the pastebin link for the pjsip logs for extension 4414 (the extension I discovered my issue on). The calls from 72xxxxxx16 were to confirm which handset rang after booting. The fist was at 10.220.214.255 after that device restarted. The second was at 10.220.213.255 after that one restarted. In each case, the handset that most recently restarted was the one that rang.

https://pastebin.com/iFdStvjb - link expires in one month.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.