]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: changing call reference to generic header; removing location area code
authorroot <james>
Fri, 30 Sep 2011 17:09:13 +0000 (13:09 -0400)
committerroot <james>
Fri, 30 Sep 2011 17:09:13 +0000 (13:09 -0400)
libs/freetdm/mod_freetdm/mod_freetdm.c
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c
libs/freetdm/src/include/freetdm.h

index 8501bb1ce2cff0df5108b7a63a1c861373f54310..5a28076fb1808b7879f41712cd6cd8dd4b998d72 100755 (executable)
@@ -1760,21 +1760,12 @@ ftdm_status_t ftdm_channel_from_event(ftdm_sigmsg_t *sigmsg, switch_core_session
 
                switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-Screen", "%d", channel_caller_data->screen);
                switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-Presentation", "%d", channel_caller_data->pres);
-               
+               switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-CallReference", "%d", channel_caller_data->call_reference);
+
                var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_opc");
                if (!ftdm_strlen_zero(var_value)) {
                        switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-OPC", "%s", var_value);
                }
-               
-               var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_lac");
-               if (!ftdm_strlen_zero(var_value)) {
-                       switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-LAC", "%s", var_value);
-               }
-               
-               var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_crn");
-               if (!ftdm_strlen_zero(var_value)) {
-                       switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-CRN", "%s", var_value);
-               }
        }
 
        /* Add any call variable to the dial plan */
index 41e012991943a372ef82ea2b0ced32d586fc97d8..75c5357a8c6f9127509758b1c0125bff573885a3 100644 (file)
@@ -223,8 +223,9 @@ ftdm_status_t handle_con_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circ
                        sngss7_add_var(sngss7_info, "ss7_opc", var);
                        
                        if (siConEvnt->callRef.callId.pres) {
-                               sprintf(var, "%u", (unsigned int)siConEvnt->callRef.callId.val);
-                               sngss7_add_var(sngss7_info, "ss7_crn", var);
+                               ftdmchan->caller_data.call_reference = (unsigned int)siConEvnt->callRef.callId.val;
+                       } else {
+                               ftdmchan->caller_data.call_reference = 0;
                        }
                        
                        if (sngss7_info->circuit->transparent_iam) {
index 0948f16e29d00f5525c14c76e511d41d9a7a72b7..c9c1b2e6872594bd0a668673b30016dec358ef35 100755 (executable)
@@ -362,6 +362,7 @@ typedef struct ftdm_caller_data {
        /* user information layer 1 protocol */
        ftdm_user_layer1_prot_t bearer_layer1;
        ftdm_calling_party_category_t cpc; /*!< Calling party category */
+       uint32_t call_reference;
 
        ftdm_channel_t *fchan; /*!< FreeTDM channel associated (can be NULL) */