[reSIProcate] Managing multiple UA registrations with single DUM

Kovar, William (Bill) bkovar at avaya.com
Wed Apr 19 09:04:59 CDT 2006


In the test program BasicCall.cpp, the following 2 different UA's are
created on 2 different Dum's
 
   TestUac uac;
   dumUac->setInviteSessionHandler(&uac);
   dumUac->setClientRegistrationHandler(&uac);
   dumUac->addOutOfDialogHandler(OPTIONS, &uac);
 
   TestUas uas(&bHangupAt);
   dumUas->setClientRegistrationHandler(&uas);
   dumUas->setInviteSessionHandler(&uas);
   dumUas->addOutOfDialogHandler(OPTIONS, &uas);
 
Then there's some User specific credential stuff set just before
creating a Register message.
 
If I'm only using 1 DUM and I want to register/unregister multiple UA's
and manage them, how would I do it?? 
 
- Do I have to persist every ClientRegisterHandle that comes back from
ClientRegistrationHandler::onSuccess(...)
- Do I also have to persist authorization stuff?
 
Basically, what from the lines below need to be reset to some persisted,
user specifc data on the same UA before I can send a message out, i.e.
uacAuth, uacMasterProfile, uac_dsf and all of the pDum-> calls.
 
I seem to be at a loss as to what parts of one UA and one DUM need to
change for each message sent/received for a particular URI I've
registered as a UA
 
 SharedPtr<MasterProfile> uacMasterProfile(new MasterProfile);
 auto_ptr<ClientAuthManager> uacAuth(new ClientAuthManager);
 pDum->setMasterProfile(uacMasterProfile);
 pDum->setClientAuthManager(uacAuth);
 
 pDum->setInviteSessionHandler(&uac);
 pDum->setClientRegistrationHandler(&uac);
 pDum->addOutOfDialogHandler(OPTIONS, &uac);
 
 auto_ptr<AppDialogSetFactory> uac_dsf(new ICAppDialogSetFactory);
 pDum->setAppDialogSetFactory(uac_dsf);
 
 // set the proxy/registrar
 pDum->getMasterProfile()->setOutboundProxy(proxyURI);
 // set registration expiration time
 pDum->getMasterProfile()->setDefaultRegistrationTime(70);
 
 pDum->getMasterProfile()->setDigestCredential(uaAor.uri().host(),
res->Id, res->pwd);
 SharedPtr<SipMessage> regMessage = pDum->makeRegistration(uaAor, 
          new testAppDialogSet(*pDum, "UA(Registration)"));

 
The various dumUa(sc)-setXXXXHandler() methods seem to only manage one
instance of each of these handlers, meaning they need to be reset when I
am acting as a different UA.
 
 
 
Bill Kovar
bkovar at avaya.com
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20060419/e31dc53e/attachment.htm>


More information about the resiprocate-devel mailing list