parse out alert-info and call-info from infos
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13173 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
7e2b961ecb
commit
bab2f0bcf5
|
@ -2908,6 +2908,8 @@ static void general_event_handler(switch_event_t *event)
|
|||
const char *to_uri = switch_event_get_header(event, "to-uri");
|
||||
const char *local_user_full = switch_event_get_header(event, "local-user");
|
||||
const char *from_uri = switch_event_get_header(event, "from-uri");
|
||||
const char *call_info = switch_event_get_header(event, "call-info");
|
||||
const char *alert_info = switch_event_get_header(event, "alert-info");
|
||||
const char *body = switch_event_get_body(event);
|
||||
sofia_profile_t *profile = NULL;
|
||||
nua_handle_t *nh;
|
||||
|
@ -2973,6 +2975,8 @@ static void general_event_handler(switch_event_t *event)
|
|||
nua_info(nh,
|
||||
NUTAG_WITH_THIS(profile->nua),
|
||||
TAG_IF(ct, SIPTAG_CONTENT_TYPE_STR(ct)),
|
||||
TAG_IF(alert_info, SIPTAG_ALERT_INFO_STR(alert_info)),
|
||||
TAG_IF(call_info, SIPTAG_ALERT_INFO_STR(call_info)),
|
||||
TAG_IF(!switch_strlen_zero(body), SIPTAG_PAYLOAD_STR(body)),
|
||||
TAG_END());
|
||||
|
||||
|
|
|
@ -107,6 +107,10 @@ typedef struct private_object private_object_t;
|
|||
#include <sofia-sip/tport_tag.h>
|
||||
#include <sofia-sip/sip_extra.h>
|
||||
#include "nua_stack.h"
|
||||
#include "sofia-sip/msg_parser.h"
|
||||
#include "sofia-sip/sip_parser.h"
|
||||
#include "sofia-sip/tport_tag.h"
|
||||
|
||||
|
||||
typedef enum {
|
||||
DTMF_2833,
|
||||
|
|
|
@ -35,9 +35,7 @@
|
|||
*
|
||||
*/
|
||||
#include "mod_sofia.h"
|
||||
#include "sofia-sip/msg_parser.h"
|
||||
#include "sofia-sip/sip_extra.h"
|
||||
#include "sofia-sip/tport_tag.h"
|
||||
|
||||
|
||||
extern su_log_t tport_log[];
|
||||
extern su_log_t iptsec_log[];
|
||||
|
@ -4010,6 +4008,7 @@ void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t
|
|||
|
||||
|
||||
if (switch_event_create(&event, SWITCH_EVENT_RECV_INFO) == SWITCH_STATUS_SUCCESS) {
|
||||
sip_alert_info_t *alert_info = sip_alert_info(sip);
|
||||
|
||||
if (sip && sip->sip_content_type) {
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "SIP-Content-Type", sip->sip_content_type->c_type);
|
||||
|
@ -4046,6 +4045,16 @@ void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if (sip->sip_call_info) {
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Call-Info", sip_header_as_string(nua_handle_home(nh), (void *) sip->sip_call_info));
|
||||
}
|
||||
|
||||
if (alert_info) {
|
||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Alert-Info", sip_header_as_string(nua_handle_home(nh), (void *) alert_info));
|
||||
}
|
||||
|
||||
|
||||
if (sip->sip_payload && sip->sip_payload->pl_data) {
|
||||
switch_event_add_body(event, "%s", sip->sip_payload->pl_data);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue