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® 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-12, 2009. Register now! 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