[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sip-implementors
Subject:    Re: [Sip-implementors] Loop detection
From:       Richard Aas <richard () sxdesign ! com>
Date:       2005-06-28 6:58:55
Message-ID: 42C0F52F.3080506 () sxdesign ! com
[Download RAW message or body]

inline

Paul Kyzivat wrote:
> 
> 
> Scott Lawrence wrote:
> 
>>> Dale Worley wrote:
>>
>>
>>
>>>> Or perhaps you could finesse the issue by saying that your device 
>>>> isn't a
>>>> SIP UA that has two lines, but two separate SIP UAs in one box.  In 
>>>> fact,
>>>> that is how you want them to operate, as to separate UAs.  And if 
>>>> you look
>>>> at it that way, you can see that you won't cause any problems for 
>>>> SIP agents
>>>> that try to call your UA.
>>>
>>>
>>
>> On Mon, 2005-06-27 at 19:11 +0200, Richard Aas wrote:
>>
>>
>>> This was exactly how I thought of it aswell. One soultions was to
>>> add request-URI as part of the loop check. The other was to have
>>> the two "lines" (or UAs if you like) maintaining completely separate
>>> set of transactions and perhaps not share listening socket. The first
>>> solution seems much simpler and I believe the end result would be the
>>> same.
>>>
>>> Is this a very uncommon way of implementing a SIP device with
>>> multiple lines (eg. a two port ATA)? If so, what is the common way.
> 
> 
> The two ports are for two analog lines, right?
> 

That is correct.

> I don't understand why you are trying to make such a coupling between 
> the sip side of the device and the analog side. You an have N AoRs, and 
> M analog lines, and map them in any combination you wish while only 
> registering one contact address per AoR.
> 
> If you want one AoR, feel free to ring two analog lines when you get an 
> invite if you wish. You can do all of this on the analog side.
> 

The key motivation for this coupling is simlicity. If the ports
are completly isolated (they don't need to know about each other)
and the SIP/port mapping is 1:1, then the system will be much simpler.
No special SIP/port mapping (eg. make two phones ring for one INVITE etc.)
needs to be done in software in the special case where both ports share
the same AoR.

If the AoR's is not equal then two registrations is a must.
If the mapping is 1:1, I will always do two registrations
(even when the ports share the same AoRs).

The only thing I have to do to make this happen is to include
request-URI as part of the loop check. As long as interop is
preserved (and I believe it is) I can't see any problem with
this solution.

> You mentioned wanting to allow both phones to be answered. But in 
> general that doesn't work. To get two dialogs established the 2nd must 
> be answered close enough in time to the first one that it isn't 
> cancelled by the proxy. And even if you succeeded at that, most callers 
> will simply drop one of the calls.
> 

This requirement was highly theoretical. I think my goal here was to
emphasis the isolation between the ports and highlight the fact that
this really is two separate UA's as Dale mentioned earlier.

> If you want the two lines conferenced in that case, then you are going 
> to need something to do a bunch of work. Its probably way easier to have 
> your device do that all locally.
> 

No need for that. See my previous comment.

/richard


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic