[Asterisk-Users] a few questions about sip implementation

Simon J Mudd sjmudd at pobox.com
Sun Jun 15 14:44:33 MST 2003


jtodd at loligo.com (John Todd) writes:

>    There are certainly some things that are lacking with Asterisk's
> SIP implementation, some of which you may have tripped over.  Of
> course, Asterisk's SIP stack is "pragmatic" and has been developed as
> people discover needs for particular functions.

Ok.  Perhaps I can help with making fixes where they are
appropriate. Also I'm looking at the latest SIP RFC, previous RFCs may
have said different things.

> However, there are
> perhaps some solutions to your questions:
> 
> >I'm looking at RFC 3261, I think the latest SIP standard and have a few
> >questions about the * sip implementation:
> >
> >1. 8.2.6.1 Sending a Provisional Response says that UASs SHOULD NOT issue
> >a provisional response to non-INVITE requests.
> >
> >>From my message yesterday * appears to be sending a SIP/2.0 100 Trying to
> >X-Lite's REGISTER request before sending the SIP/2.0 200 OK message.
> >
> >Is this correct?
> 
> Yes, that is what it is doing and and while it may not adherent to the
> exact reading of the RFC, I have seen several other proxies doing the
> same thing (examples: FWD's SIP proxy (Cisco?) does send "100 Trying"
> but SER does not) so I will assume it's an awkward industry standard,
> though perhaps not exactly compliant to the RFC paragraph that you
> describe.

Ok.  Apparently the trying should be sent for everything except
REGISTER. Not too sure why.

> >2. 10.3 Processing REGISTER requests. The 5th paragraph states "that the
> >registrar has to know the set of domain(s) for which it maintains
> >bindings".
> >
> >How is this specified in Asterisk?  Through the context?  ie should the
> >domains be specified in sip.conf via the context parameter, of the
> >form context=domain.com?
> 
> Currently, that is not possible.  The registrar maintains the set of
> allowed bindings by an exactly matching username/password process, OR
> via an IP-based permissions scheme.  There are no wildcards for
> domains in Asterisk for authentication.  This does not preclude you
> from creating entries for each SIP user in your sip.conf file, which
> is a bit tedious, but may be an interim solution.

Ok.  I guess a realm=zxxxx entry might be sufficient as the SIP client
when authenticating will have an address of the form To:
sip:1234 at realm.com rather than @IP of the client. (I think).  if the
information could be stored then it could be used.

> >3. I have another SIP account (sip:912345678 at domain.es) which I would like
> >to use within asterisk both for dialing out and for receiving calls.
> >
> >I see that sip.conf has a line
> >
> >register => 912345678 at domain.es/1234
> >
> >where 1234 is the local asterisk extension.  From chan_sip.c, line 1390 I
> >see that I can use the form:
> >
> >register => user[:secret[:authuser]]@host[:port][/localextension]
> >
> >However my registrar requires that I authenticate with domain.es, but use
> >a sip proxy at ip 1.2.3.4, the two are unrelated and domain.es has no ip
> >address.  How can I get Asterisk to register with the remote prxoy?
> 
> I sent a note to Mark about this.  We had discussed a patch to fix
> this back in Feb, but apparently it didn't do quite the trick (due to
> my lack of testing.)  Lines like this are supported:
> 
> register => 9993 at something.foo.net:password at blatz.filbert.com/9993
> 
> However, the current REGISTER routines don't chop off
> "blatz.filbert.com" in the To: and From: fields.  Hopefully a repair
> will be seen in the future.

Ok. I hadn't understood the source too well in that respect as there
was also the :port bit mentioned.  if this format

register => 993 at realm.com:password at proxy.realm.com:port/localpart is
acceptable I can look at modifying the existing source to accept this
format and using it appropriately.  That shouldn't be too hard (I
think).

Thanks for the feedback.

Simon



More information about the asterisk-users mailing list