2007/6/28, Jan Van den bosch <[EMAIL PROTECTED]>: > Looks like my problem is described in the NUA documentation: > > sending a SUBSCRIBE with Event: header and two Accept: headers: > > nua_subscribe(nh, > SIPTAG_EVENT_STR("presence"), > SIPTAG_ACCEPT(accept1), > SIPTAG_ACCEPT(accept2), > TAG_END()); > > fetching tag values when processing nua_r_subscribe event: > > sip_accept_t *ac = NULL; > sip_event_t *o = NULL; > > tl_gets(tl, > SIPTAG_EVENT_REF(o), /* _REF takes a reference! */ > SIPTAG_ACCEPT_REF(ac), > TAG_END()); > > Problem is: o is still NULL afterwards.
It looks like the most nua includes the SIPTAG_EVENT() with the nua_r_subscribe/nua_r_unsubscribe callbacks only in some corner cases. Looks like a bug, I'll fix it. However, the stack does not keep around a copy of event header after the subscription has been destroyed. In other words, if the stack has received the final NOTIFY (and responded to it) before the final response to the un-SUBSCRIBE request is received the o is NULL in nua_r_unsubscribe. -- Pekka.Pessi mail at nokia.com ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Sofia-sip-devel mailing list Sofia-sip-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel