Hi everybody!

Fisrt I want to thank you developers for your excelent work on this SIP 
framework, But as you sure can guess, I have a problem.
I am using sofia sip to get notified when a busy callee is ready again, using a 
SUBSCRIBE for a dialog event.
The first SUBSCRIBE works perfectly, I get a NOTIFY "confirmed" for subscribing 
and the NOTIFY "terminate" from the callee, when the current call has ended. 
However when I want to unsubscribe i get error 404 from the callee.
It seems that the user of the SUBSCRIBE Request is missing. It should be 
"sip:test@192.168.90.100" but only "sip:192.168.90.100" is sent on the 
SUBSCRIBE with expire 0.

code looks like this:

 case nua_i_notify:

 

             printf("Notify received, status: %d, %s\n", status, phrase);

             state_start = 0;
             state_end = 0;
             state_start = strstr(sip->sip_payload->pl_data, "<state>");
             state_end = strstr(sip->sip_payload->pl_data, "</state>");

             if((state_start) && (state_end))
             {
                    state_start += 7; // start after <state>
                    strncpy_s(state, sizeof(state), state_start, state_end - 
state_start);
                    printf("state changed to %s\n",state);

                    if (!strcmp(state, "terminated"))

                    {
                           nua_unsubscribe(nh, SIPTAG_EVENT_STR("dialog"), 
TAG_END());

                          
Is it necessary to make a new nua_handle for the unsubscribe.
When is it necessary to genereate a new handle for operations?

Kind regards


------------------------------------------------------------------------------
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to