[reSIProcate] RES: ClientSubscriptionHandler
Gustavo Honorato
gustavo at inovax.com.br
Wed May 30 13:02:32 CDT 2007
Matthias,
Check if you must delete SipFrag pointer at the end of this operation. I
think that youre leaking memory.
Gustavo de Sá Carvalho Honorato
» Software Developer
» INOVAX Engenharia de Sistemas
» Contact: +55 21 81264643
» E-mail: gustavo at inovax.com.br
» Brazil, Rio de Janeiro
_____
De: Scott Godin [mailto:slgodin at icescape.com]
Enviada em: sábado, 26 de maio de 2007 14:53
Para: Matthias Moetje; Gustavo Honorato; Ryan Kereliuk
Cc: resiprocate-devel at list.resiprocate.org
Assunto: RE: [reSIProcate] ClientSubscriptionHandler
Yes you are right - I just checked the code again - the NOTIFY that causes
the subscription to end does not generate an onUpdateXXX calback, just an
onTerminated callback. I don't see any problems with what you are doing.
Scott
_____
From: Matthias Moetje [mailto:moetje at terasens.com]
Sent: Fri 5/25/2007 5:41 PM
To: Scott Godin; Gustavo Honorato; Ryan Kereliuk
Cc: resiprocate-devel at list.resiprocate.org
Subject: RE: [reSIProcate] ClientSubscriptionHandler
Scott, Gustavo and Ryan,
thanks very much for the information, this helped me a lot!
On the server side I am doing in onRefer(resip::InviteSessionHandle h,
ss->send(ss->accept(202));
resip::Data daNotify("SIP/2.0 200 OK");
Mime type("message", "sipfrag");
HeaderFieldValue* hfv = new
headerFieldValue(daNotify.c_str(),daNotify.size());
SipFrag* frag = new SipFrag(hfv,type);
ss->end(NoResource,frag);
I am not sure if this is right. Though our background is as follows: At the
moment a refer is always successful because in case of an unavailable party
or invalid number the PBX will fallback the refered call to another
extension. Therefore we send the sipfrag with 200 OK immediately. This is
passed via ss->end(
)
Is that correct? After reading the RFC I had the impression that the final
response always ends the refer subscription. This does not trigger any
onUpdatexxx callback on the client but only onTerminated, so I thought
investigating the msg in the onTerminated would be sufficient to deal with
the refer response
?
Thanks again,
Matthias Moetje
cid:809010616 at 21122006-3519
<https://owa.computer-talk.com/exchange/slgodin/Drafts1/RE:%20%5breSIProcate
%5d%20ClientSubscriptionHandler.EML/1_multipart/image001.jpg>
TERASENS GmbH
Augustenstraße 24
80333 Munich
GERMANY
Phone:
Fax:
e-mail:
Web:
+49.89.143370-0
+49.89.143370-22
<mailto:info at terasens.com> info at terasens.com
<http://www.terasens.com/> www.terasens.com
From: Scott Godin [mailto:slgodin at icescape.com]
Sent: Freitag, 25. Mai 2007 18:29
To: Matthias Moetje; resiprocate-devel at list.resiprocate.org
Subject: RE: [reSIProcate] ClientSubscriptionHandler
From: resiprocate-devel-bounces at list.resiprocate.org
[mailto:resiprocate-devel-bounces at list.resiprocate.org] On Behalf Of
Matthias Moetje
Sent: Friday, May 25, 2007 11:56 AM
To: resiprocate-devel at list.resiprocate.org
Subject: [reSIProcate] ClientSubscriptionHandler
Hi,
could someone please shed some light on the callback functions of the
ClientSubscriptionHandler? Some are easy to understand but when are:
onUpdatePending, onUpdateActive and onUpdateExtension actually called?
[Scott] One of these are called when a notify is received. The one that is
called depends on the current subscription state. I think Extension is used
when the state is neither Pending or Active. I dont fully understand why
these callbacks were separated this way, perhaps someone else can shed some
light on that.
What should I return in onRequestRetry (should I return the retrySeconds
value)?
[Scott] I would suggest returning some the min of retrySeconds and some
application configured setting for subscription retry.
Am I correct that for dealing with a ClientSubscription which was implicitly
created through REFER, it is sufficient to wait for
ClientSubscriptionHandler::onTerminated, then create a SIP message from the
sipfrag and use this messages response code to determine if the REFER was
successful or not?
[Scott] You can look for a SIP final response code (non-1xx) in the SipFrag
bodies of the onUpdateXXX callbacks and checking for 2xx vs 3xx-6xx to
determine success or failure. However the subscription should be ended on
the final response, so an onTerminated callback should immediately follow.
Thanks for any help,
Matthias Moetje
cid:809010616 at 21122006-3519
<https://owa.computer-talk.com/exchange/slgodin/Drafts1/RE:%20%5breSIProcate
%5d%20ClientSubscriptionHandler.EML/1_multipart/image001.jpg>
TERASENS GmbH
Augustenstraße 24
80333 Munich
GERMANY
Phone:
Fax:
e-mail:
Web:
+49.89.143370-0
+49.89.143370-22
<mailto:info at terasens.com> info at terasens.com
<http://www.terasens.com/> www.terasens.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20070530/fffa6e59/attachment.htm>
More information about the resiprocate-devel
mailing list