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

Reply via email to