[Asterisk-Dev] [BUG?] chan_sip, RFC 3261 and multiple UACs registering for one account

alex at pilosoft.com alex at pilosoft.com
Sat Aug 27 10:35:23 MST 2005


On Sat, 27 Aug 2005, Hartwig Deneke wrote:

> My observations: I have a SIP Account at a VoIP provider (who is using
> Asterisk). I am using a Sipura SPA2000 device (two phone device). If I
> enter the same account information (only the SIP port differs), both
> lines seem to register successfully, and can make outgoing calls.
> However, incoming calls only get to the phone which registered last. It
> is even more annoying if I want to make a quick phone-call from on a
> hotspot using my notebook, as the registration will point to the
> (possibly long disconnected) notebook (as a workaround, one can turn of
> registration by the softphone, even though this is not always possible).
That's correct behavior. Plus, this is not subject for -dev. 

-dev is not 'court of appeals' from -users list. 

> The usual response to this issue from the devlopers seems to be pretty
> much along the lines of [5]
> >Many people seem to want this feature.  I think they are just confused.
And you are confused.

> I think this reply is ignorant of the SIP standard, and hope to convince
> you of this.
> 
> See RFC 3261, Section 10.2.1 Adding Bindings
> >The REGISTER request sent to a registrar includes the contact
> >address(es) to which SIP requests for the address-of-record should be
> >forwarded.  The address-of-record is included in the To header field
> >of the REGISTER request.
Note the *addresses* (plural). If your phones sent in multiple contact 
addresses, it'd work just fine (or it should).

> (...snip...)
> >Once a client has established bindings at a registrar, it MAY send
> >subsequent registrations containing new bindings or modifications to
> >existing bindings as necessary.  The 2xx response to the REGISTER
> >request will contain, in a Contact header field, a complete list of
> >bindings that have been registered for this address-of-record at this
> >registrar
> 
> Using sipsak, see http://sipsak.org, using the commands
> 
> bash> sipsak  -vvv -x 3600 -U -C 'sip:phone1 at somedomain.dyndns.org' -a
> $pwd -s sip:$sipaccount@$sipprovider
> followed by
> bash>sipsak  -vvv -x 3600 -U -C 'sip:phone1 at somedomain.dyndns.org' -a
> $pwd -s sip:$sipaccount@$sipprovider
> 
> The following contact header is then found in the reply, which shows
> that the first registration is lost:
> Contact: <sip:phone2@$somedomain.dyndns.org>;expires=3600
Because REGISTER overrides current registration. You need to submit 
REGISTER with multiple contact addresses to get what you want.
> 
> 
> Hence, this explains the behavior I described in the beginning and seems
> to violate the requirements of RFC 3261, unless I am totally confused.
You are totally confused. Plus, you don't seem to take no for an answer.

rest skipped.

-alex




More information about the asterisk-dev mailing list