[asterisk-scf-dev] New SIP configuration items

Kevin P. Fleming kpfleming at digium.com
Mon Dec 19 14:42:58 CST 2011


On 12/19/2011 10:21 AM, Mark Michelson wrote:
> On 12/15/2011 06:17 PM, Kevin P. Fleming wrote:
>> On 12/15/2011 10:38 AM, Mark Michelson wrote:
>>> I opened issue ASTSCF-397
>>> (https://issues.asterisk.org/jira/browse/ASTSCF-397)based on an audit I
>>> did of the existing SIP configuration items. There are several items
>>> that are defined in our slice but that are either not read by our Python
>>> configurator script or are not actually handled if pushed to the SIP
>>> component by the configurator. I plan to alter the configurator and the
>>> SIP component so that these items can actually be configured. My problem
>>> is that I am unsure of how these items should be grouped.
>>>
>>> First, let's go over the items that are unused:
>>>
>>> * SipUserAgentItem - Presumably intended to be used to configure what
>>> text appears in the User-Agent header in SIP messages sent by
>>> Asterisk SCF.
>>> * SipRTPMediaServiceItem - The name of the media service to locate when
>>> requesting a proxy to an RTP media service.
>>> * SipUDPTLMediaServiceItem - The same as SipRTPMediaServiceItem except
>>> used for requesting a proxy to a UDPTL media service.
>>> * SipRoutingItem - The name of the routing service to locate when
>>> requesting a proxy to a routing service.
>>>
>>> My problem is that I don't know if these are things that people would
>>> want to set in SipEndpointGroups or in the SipGeneralGroup.
>>>
>>> Here are my initial feelings on the matter:
>>>
>>> The SipUserAgentItem should go in the SipGeneralGroup since it doesn't
>>> really seem like something that would change for individual endpoints.
>>>
>>> The SipRTPMediaServiceItem and SipUDPTLMediaServiceItem should appear in
>>> SipEndpointGroups since these do seem like the type of things that
>>> people could want to configure per endpoint.
>>>
>>> The SipRoutingItem could go either way. I'm leaning towards putting it
>>> in the SipGeneralGroup because of potential complications from
>>> attempting to configure it per endpoint.
>>
>> My opinion is that all of them could legitimately have a need to be
>> configured on a per-endpoint basis, but providing defaults for them at
>> a 'general' level would be beneficial as well (although to be honest I
>> haven't even looked to see if we are supporting that sort of
>> configuration model right now... deciding when to use or not use the
>> default value could be quite tricky).
>>
> We don't currently have any options that can be applied at multiple
> levels like you are suggesting, so this would be the first time we do
> it. It shouldn't be too difficult to devise a way of doing this, and I
> have no problem with such a model.

I suspected as much, so that's fine; it can go on the list for a future 
enhancement.

> To shift the focus a bit, you mentioned that all of these could be
> configurable per endpoint. The SipRoutingItem introduces some
> complications here.
>
> First, the method by which the routing service is discovered at the
> moment is to use a SmartProxy and attempt to find it on startup. There
> is a single routing service proxy that gets passed to the
> PJSipSessionModule for use later when routing sessions. This would mean
> we would need to change location to be done at configuration time and to
> use the endpoint's configuration in order to determine the routing
> service to use when routing a session.
>
> Second, and more importantly, is how endpoint location will work with
> this sort of setup. Let's say that we have endpoints "Alice" and "Bob"
> and each wishes to route its sessions through separate routing services.
> Should the routing service Alice uses be able to locate Bob's endpoint?
> Should the routing service Bob uses be able to locate Alice's endpoint?
> Or should routing services only be able to locate endpoints for which
> they route sessions? Should the endpoints somehow be made locatable to
> routing services no endpoint actually uses?
>
> Based on the points raised above, it seems like there should be two
> routing options. First, there should be an option to determine what
> service an endpoint uses to route sessions from the endpoint. This
> option could be set both in the general section or per endpoint. Second,
> there should be an option to specify all routing services that should be
> able to locate an endpoint. This, on the other hand, must be configured
> per endpoint.

That makes complete sense to me.

-- 
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
Jabber: kfleming at digium.com | SIP: kpfleming at digium.com | Skype: kpfleming
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at www.digium.com & www.asterisk.org



More information about the asterisk-scf-dev mailing list