add geolocation header parser

This commit is contained in:
Anthony Minessale 2013-04-18 16:44:40 -05:00
parent c8a6c99f84
commit b0cdad5d5d
2 changed files with 6 additions and 0 deletions

View File

@ -8702,6 +8702,8 @@ void sofia_handle_sip_i_invite(switch_core_session_t *session, nua_t *nua, sofia
switch_channel_set_variable(channel, "push_channel_name", "true");
} else if (!strcasecmp(un->un_name, "X-FS-Support")) {
tech_pvt->x_freeswitch_support_remote = switch_core_session_strdup(session, un->un_value);
} else if (!strcasecmp(un->un_name, "Geolocation")) {
switch_channel_set_variable(channel, "sip_geolocation", un->un_value);
} else if (!strncasecmp(un->un_name, "X-", 2) || !strncasecmp(un->un_name, "P-", 2) || !strcasecmp(un->un_name, "User-to-User")) {
if (!zstr(un->un_value)) {
char new_name[512] = "";

View File

@ -569,6 +569,10 @@ char *sofia_glue_get_extra_headers(switch_channel_t *channel, const char *prefix
for (; hi; hi = hi->next) {
const char *name = (char *) hi->name;
char *value = (char *) hi->value;
if (!strcasecmp(name, "sip_geolocation")) {
stream.write_function(&stream, "Geolocation: %s\r\n", value);
}
if (!strncasecmp(name, prefix, strlen(prefix))) {
if ( !exclude_regex || !(proceed = switch_regex_perform(name, exclude_regex, &re, ovector, sizeof(ovector) / sizeof(ovector[0])))) {