PJSIP registration timers by contact

I have a use case where ideally I can configure registration timers by contact rather than by extension. I have two different “groups” I would need contacts to fall into. These groups could be detected in a number of different ways, but the most obvious method of detection is one group has a parameter attached to the contact header “pn-prid”, and the other group would be everything else. My pn-prid extensions need longer registration timers due to the rfc8599. My goal is to allow both mobile and non-mobile devices to register to a single extension number for the obvious benefit of being able to simultaneously dial all of the extensions endpoints with out having to configure “followme” behaviors.

  • default_expiration
  • maximum_expiration
  • minimum_expiration

Thanks in advance.

You mean endpoint, not extension (and, actually, you really mean AOR), and when you refer to endpoints you actually mean contacts.

I’m not sure why the registrant cannot choose the registration interval.

However, you can have an extension call multiple endpoints in parallel, using the & operator, in the dialstring.

I suspect you can have multiple AORs on an endpoint, but I’m not sure if the function that returns the contacts actually works at AOR or endpoint level, and I’ve never seen an example with multiple endpoints.

If you’re referring to the simultaneous calling part, that already works and you are correct the ‘&’ is how you do this. The problem is I need two separate registration behaviors discriminated by the pn-prid.

Sorry for my lackluster use of the pjsip abstract terminology, I learning more every day.

It’s not actually abstract terminology. They’re terms within SIP or the industry. We actively avoided inventing new terms.

There is nothing built in for this, except different configuration on different AORs so the endpoint would need to register to the appropriate AOR. Outside of that you’d be looking at code modifications and custom code probably.

I’d be willing to pay for this modification. Do you have any recommendations?

I suspect correctly distinguishing between extension, endpoint, and AOR would remove the need for code changes, and I also suspect the code changes would have to be in PJProject, not Asterisk, but there is a Jobs category, in the forum, for such requests.

Lots of people have configurations where they mix fixed devices with IPhone soft phones, without having called for this before.

(I think it would be useful to have some non-degenerate examples of endpoints and AORs. I believe the distinction exists because there can be multiple AOR names, but the exact type of names being used isn’t clear, to me, from the examples.)

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