]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8893: [mod_sofia] Add variables to sofia::register/unregister events
authorHunyadvári Péter <peter.hunyadvari@vcc.live>
Tue, 3 Apr 2018 08:42:04 +0000 (10:42 +0200)
committerHunyadvári Péter <peter.hunyadvari@vcc.live>
Tue, 3 Apr 2018 08:42:04 +0000 (10:42 +0200)
src/mod/endpoints/mod_sofia/sofia_reg.c

index 4dd30ddb6784f5c709f7ad03cae76d00b36b42e1..847411ab5a0108a4c871f632aa5c640348fe2277 100644 (file)
@@ -1571,6 +1571,7 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
                        switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "username", username);
                        switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "realm", realm);
                        switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
+
             switch (auth_res) {
             case AUTH_OK:
                 switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "auth-result", "SUCCESS");
@@ -2022,6 +2023,9 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
                        if (update_registration) {
                                switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "update-reg", "true");
                        }
+                       if (v_event && *v_event) {
+                               switch_event_merge(s_event, *v_event);
+                       }
                        switch_event_fire(&s_event);
                }
 
@@ -2166,6 +2170,11 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
                                        switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network-port", network_port_c);
                                        switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "user-agent", agent);
                                        switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "expires", "%ld", (long) exptime);
+
+                                       if (v_event && *v_event) {
+                                               switch_event_merge(s_event, *v_event);
+                                       }
+
                                }
                        }
                }