Hi
I have a general question on how to handle connection drops for a Mobile
pjsip client, in this case Windows Mobile. In particular I would be very
interested in which scenarios I can expect pjsip to resolve a connection
reestablishment and where I have to take action myself.
In particular I am currently looking at what happens with my publish
sessions if the connection is lost. One scenario is that the presence
refresh timer is 300sec. I put the Windows Mobile phone into powersave
by tapping the power button. Since wifi is used at this time the
connection is instantly dropped. I then wait for more then 300 seconds
which leads to the user presence beeing set to unknown in the server.
When the connection is restored pjsip attempts to refresh the Publish
but using the old e-tag value leading to the server sending a 412 in
return. I assume this is because the server does not think the e-tag is
valid anymore since the phone did not republish within 300 sec. As this
happens my publish session is destroyed and I am not sure on the best
approach to recover.
The questions:
For this specific case, do you think pjsip is doing this the right
way or should a complete Publish be sent instead?
In general I am a unsure on how to handle connection drops and
Publish failures. From my understanding the publish session is destroyed
if a Publish fails. Is it completly up to the application to handle this
scenario and do a complete republish when this occurs or do you have any
guidelines for handling connection drops in general.
How does pjsip detect that a connection is again available. Is it on
socket level or something else?
Sorry for beeing a bit vague I will try to get back with even more
detailed scenarios when I understand what is my responsibility and what
is handled by pjsip.
/Johan
Hi Johan,
sorry for the top post, but I can only address the issue in general. We've
also just been working on issue similar to this, that is access point
disconnection, reconnection, and IP address change. While it's not exactly
on the same topic (and more over we're working on Symbian), it's felt that
the issues are related somehow, so I just wanted to point this out.
I documented the issues here
http://trac.pjsip.org/repos/wiki/Symbian_AP_Reconnection. In conclusion,
basically my suggestion now is to restart pjsip when the access point is
reconnected, and I think this approach is probably suitable for the power
off topic as well. Or even more suitable perhaps, since if user powers off
the handset, I don't suppose (s)he is in a middle of call/session, so
there's not much to be lost with restarting pjsip.
cheers
Benny
On Wed, Feb 25, 2009 at 11:10 AM, Johan Lantz johan.lantz@genaker.netwrote:
Hi
I have a general question on how to handle connection drops for a Mobile
pjsip client, in this case Windows Mobile. In particular I would be very
interested in which scenarios I can expect pjsip to resolve a connection
reestablishment and where I have to take action myself.
In particular I am currently looking at what happens with my publish
sessions if the connection is lost. One scenario is that the presence
refresh timer is 300sec. I put the Windows Mobile phone into powersave by
tapping the power button. Since wifi is used at this time the connection is
instantly dropped. I then wait for more then 300 seconds which leads to the
user presence beeing set to unknown in the server. When the connection is
restored pjsip attempts to refresh the Publish but using the old e-tag value
leading to the server sending a 412 in return. I assume this is because the
server does not think the e-tag is valid anymore since the phone did not
republish within 300 sec. As this happens my publish session is destroyed
and I am not sure on the best approach to recover.
The questions:
For this specific case, do you think pjsip is doing this the right way
or should a complete Publish be sent instead?
In general I am a unsure on how to handle connection drops and Publish
failures. From my understanding the publish session is destroyed if a
Publish fails. Is it completly up to the application to handle this scenario
and do a complete republish when this occurs or do you have any guidelines
for handling connection drops in general.
How does pjsip detect that a connection is again available. Is it on
socket level or something else?
Sorry for beeing a bit vague I will try to get back with even more detailed
scenarios when I understand what is my responsibility and what is handled by
pjsip.
/Johan
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org