]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add isfocus to outbound invites
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 21 Aug 2013 17:21:26 +0000 (22:21 +0500)
committerAnthony Minessale <anthm@freeswitch.org>
Wed, 21 Aug 2013 17:21:26 +0000 (22:21 +0500)
src/mod/applications/mod_conference/mod_conference.c
src/mod/endpoints/mod_sofia/sofia_glue.c

index 698b2079bdbd3e5e182b5f6874ef827a2bb69783..3c31e2b990ec83a5558a10a0c66a2f440380d977 100644 (file)
@@ -8911,7 +8911,8 @@ static void call_setup_event_handler(switch_event_t *event)
 
                                        switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "conference_track_status", "true");
                                        switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "conference_track_call_id", call_id);
-                                        switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "sip_invite_domain", domain);
+                                       switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "sip_invite_domain", domain);
+                                       switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "sip_invite_contact_params", "~isfocus");
 
                                        if (!strncasecmp(ostr, "url+", 4)) {
                                                ostr += 4;
index 620d4e5d0bedbe619fae3625410419669e2aa4cc..f569a12dd22aa4598afd98bfff3de852fbe05ab5 100644 (file)
@@ -497,7 +497,12 @@ char *sofia_overcome_sip_uri_weakness(switch_core_session_t *session, const char
        char *stripped = switch_core_session_strdup(session, uri);
        char *new_uri = NULL;
        char *p;
+       const char *url_params = NULL;
 
+       if (!zstr(params) && *params == '~') {
+               url_params = params + 1;
+               params = NULL;
+       }
 
        stripped = sofia_glue_get_url_from_contact(stripped, 0);
 
@@ -542,7 +547,9 @@ char *sofia_overcome_sip_uri_weakness(switch_core_session_t *session, const char
                }
        }
 
-
+       if (url_params && !uri_only) {
+               new_uri = switch_core_session_sprintf(session, "%s;%s", new_uri, url_params);
+       }
 
        if (!zstr(invite_tel_params)) {
                char *lhs, *rhs = strchr(new_uri, '@');
@@ -913,7 +920,6 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session)
 
                switch_channel_set_variable(channel, "sip_outgoing_contact_uri", invite_contact);
 
-
                /*
                  Does the "genius" who wanted SIP to be "text-based" so it was "easier to read" even use it now,
                  or did he just suggest it to make our lives miserable?