sendevent NOTIFY with uuid - the tag from RINGING response is not copied to NOTIFY
I have tested how I can control a SIP-phone receiving a call to go off-hook. This is possible by sending a NOTIFY with the SIP Event-header set to talk. My problem is that the NOTIFY message does not include exactly the same SIP To-header information as the FS received as a RINGING response to the INVITE: The tag from the RINGING response, which the phone adds to the SIP To-header, is not included in the NOTIFY. Snom-phones - and possibly other SIP phones as well, uses this tag in the SIP To-header to pinpoint the exact call to be answered. The information is actually present before the NOTIFY is sent. I have tested it in the dialplan using the info application just before firing off the sendevent NOTIFY. Is there any reason for this behaviour, which I should be aware of before dabbling with the code? I have checked the mod_sofia.c code and have found the code which sends the NOTIFY (with the uuid, event and message type as input parameters): if (uuid && ct && es) { switch_core_session_t *session; private_object_t *tech_pvt; //Jon changed: SIPTAG_SUBSCRIPTION_STATE_STR("terminated;reason=noresource") to SIPTAG_SUBSCRIPTION_STATE_STR("active") if ((session = switch_core_session_locate(uuid))) { if ((tech_pvt = switch_core_session_get_private(session))) { nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_SUBSCRIPTION_STATE_STR("active"), SIPTAG_EVENT_STR(es), SIPTAG_CONTENT_TYPE_STR(ct), TAG_IF(!zstr(body), SIPTAG_PAYLOAD_STR(body)), TAG_END()); } switch_core_session_rwunlock(session); } } But in order to change the behaviour, I may need to look somewhere else. Some hints as to where to look would be appreciated! Regards Jon
participants (1)
-
Jon Bruel