2009/9/14 EiSl 1972 <eisl1...@gmail.com>:
> I would like to use the NUA abstraction layer for my very simplified SIP
> call 'generator', which is of itself a kind of PBX (from SIP client point of
> view). Maybe call it an 'announcement server', calling each client when
> there is something to say :)
>
> Basically my requirements are:
> - Allow incoming registrations from multiple SIP clients
> - Being able to make calls (INVITE) to those registered clients, where I
> already know the media endpoints on my side. So I sent INVITE with valid SDP
> entries.
> - Being able to reINVITE to those clients
> - Being able to end calls (CANCEL / BYE)
> ==> it is no problem if the contact-info or from-field of the sent INVITEs
> equals for all clients.
>
> My point is:
> I would like to use NUA for this rather than NTA and then using the
> test_proxy.c as reference.
> Maybe I'm very wrong, but I'm under impression that this could be possible
> when I was checking the developers archive referring to introduction to
> nua_i_register and the discussion "NUTAG_IDENTITY and contact header"
> somewhere middle 2006.

Yes, it is possible to use nua as registrar. As far as i can recall,
you should include the tag NUTAG_ALLOW("REGISTER") with nua_create()
or some initial nua_set_params() call in order to get nua_i_register
events. As you said, there is some implementation on registrar
protocol in test_proxy.c. It is basically just the rules on accepting
and updating the Contact URIs and their expiration times.

> I'm aware that NUA is meant to be an UserAgent abstraction, but in principle
> it could still acts as a user-agent towards each registered client.
> If this is possible, can someone provide some guidelines? This since there
> is no reference on how to do this. Especially with respect to how to use
> nua_invite to build the correct messages to each client.

> The realization of
> the register seems straight-forward, except that a (re)register from the
> same client results into new handle so this gives me the impression that NUA
> is just doing a pass-through and does not do any administration on these.
> I'm willing to put the gathered knowledge in some Wiki / help to be added to
> the Sofia online docs.

You should save AoR (in To header) and Contact URIs from each
nua_i_register event from your clients. You then use AoR/To header
from nua_i_register as To header in INVITE, and Contact URI as request
URI (passed in as NUTAG_URL()).

The proxy case is bit different, it uses request URI in incoming
message to look for an AoR and the forward the request to the Contact
URIs.

-- 
Pekka.Pessi mail at nokia.com

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to