I am seeing subscriptions to the registrar failing on startup, without
the client (the sipxsaa) being notified at all.  This prevents the
service from working (http://track.sipfoundry.org/browse/XX-6223).  I am
trying to avoid the startup delay that the rls has, so the request for
reg-events is sent out as soon as the appearance-groups file is loaded -
so soon that it times out because the registrar is not ready for it.

I noticed that although the SipRefresh callback was invoked when the
subscription request timed out, the sipxsaa callback was not invoked.
This appears to be because SubscribeClientState is for the
earlyDialogHandle, not the dialogHandle, and hence is not retrieved in
the SipSubscribeClient::refreshCallback.

I've attached a patch which checks for a SubscribeClientState registered
with the earlyDialogHandle, if the lookup fails with dialogHandle.  Does
this make sense?  It solves my problem... now the sipxsaa callback is
invoked with SUBSCRIPTION_TERMINATED and I can take some action there.
Is this code safe to add?

Carolyn


Attachment: SipSubscribeClient.cpp.diff
Description: SipSubscribeClient.cpp.diff

_______________________________________________
sipx-dev mailing list [email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
sipXecs IP PBX -- http://www.sipfoundry.org/

Reply via email to