[asterisk-dev] Opinions Needed: PJSIP Outboud Registration with multiple server_uris

Joshua Colp jcolp at digium.com
Sat Sep 20 11:33:28 CDT 2014


George Joseph wrote:

<snip>

>
> My proposal is to allow registration/server_uri to be specified as a
> comma separated list or to be specified multiple times just like
> aor/contact and identify/match.  This would allow us to manage only 1
> registration section in the same manner as aor and identify.  A
> registration would be "Registered" if at least 1 server was registered
> or I can add a "registration_state_registered_at" variable similar to
> "device_state_busy_at" which would specify the minimum number of servers
> needed to be considered "Registered".  If you actually want 2
> registrations, nothing stops you from creating them.
>
> It seems like a minor issue but for me (and other folks I'm betting) the
> transition from chan_sip to chan_pjsip rests on getting tools, GUIs,
> scripts, etc. migrated.  That variable number of registrations is a pain
> to deal with.
>
> Josh had some issues with this approach on IRC and suggested bringing
> the proposal to the list for wider discussion.

I'll elaborate on why I dislike this:

1. It's overloading the outbound registration object to actually mean 
outbound registrations. This complicates the implementation and from a 
user perspective becomes harder to explain. Someone doesn't have to use 
it, but if they see it... they will... potentially without knowing what 
it means.

2. From a first glance and seeing the type as outbound registration I 
would expect that someone would think of it as an ordered failover list. 
If I can't register to the first then I'll try the second and so on. 
This is what some phones do. That's not what this would do.

3. What it means to register to multiple URIs and how that should be 
interpreted is really environment specific. You've mentioned making what 
the cumulative result is configurable but knowing what failed and what 
succeeded individually is still important. It may not be for some ITSPs, 
it may be for others. If addressed individually you get this information 
already and it can be interpreted.

4. I'm hesitant to push this into the outbound registration module as 
the solution. I'm all for making things easier but having these lower 
level blocks as simple and direct as possible is valuable. Trying not to 
cross the line is hard.

5. The idea of higher level concept configuration has been thrown around 
as something to make this easier. I personally think this sort of thing 
belongs there. A type=trunk, itsp, phone, etc. Lower level blocks remain 
the same and additional logic on top can be added to handle this sort of 
thing.

I look forward to seeing what others think!

Cheers,

-- 
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org



More information about the asterisk-dev mailing list