add send_info dp app and uuid_send_info FSAPI and execute_on_sip_extra_headers and api_on_sip_extra_headers handler variables

This commit is contained in:
Anthony Minessale
2011-11-23 15:38:54 -06:00
parent 35112f2269
commit b9e28f85cb
7 changed files with 123 additions and 7 deletions
+21 -1
View File
@@ -1906,7 +1906,6 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
case SWITCH_MESSAGE_INDICATE_PHONE_EVENT:
{
const char *event = "talk";
switch_channel_set_flag(channel, CF_REQ_MEDIA);
if (!zstr(msg->string_arg) && strcasecmp(msg->string_arg, event)) {
if (!strcasecmp(msg->string_arg, "hold")) {
@@ -1924,6 +1923,27 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
}
}
case SWITCH_MESSAGE_INDICATE_INFO:
{
char *headers = sofia_glue_get_extra_headers(channel, SOFIA_SIP_INFO_HEADER_PREFIX);
char *ct = "freeswitch/data";
const char *pl = NULL;
if (!zstr(msg->string_array_arg[0]) && !zstr(msg->string_array_arg[1])) {
ct = switch_core_session_sprintf(session, "%s/%s", msg->string_array_arg[0], msg->string_array_arg[1]);
}
if (!zstr(msg->string_array_arg[2])) {
pl = msg->string_array_arg[2];
}
nua_info(tech_pvt->nh,
SIPTAG_CONTENT_TYPE_STR(ct),
TAG_IF(!zstr(headers), SIPTAG_HEADER_STR(headers)),
TAG_IF(!zstr(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)),
TAG_IF(pl, SIPTAG_PAYLOAD_STR(pl)),
TAG_END());
}
break;
case SWITCH_MESSAGE_INDICATE_SIMPLIFY:
{