]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: change call reference number to HEX string format
authorroot <james>
Mon, 7 Nov 2011 21:37:11 +0000 (16:37 -0500)
committerroot <james>
Mon, 7 Nov 2011 21:37:11 +0000 (16:37 -0500)
libs/freetdm/mod_freetdm/mod_freetdm.c
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c

index ba0389a1ccf5d30ef70dba4d5e4a8a957917e6dd..866fb74bec92a5e353292d5ffadd5c1209065d97 100755 (executable)
@@ -1770,7 +1770,11 @@ 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_callref");
+               if (!ftdm_strlen_zero(var_value)) {
+                       switch_channel_set_variable_printf(channel, "sip_h_X-FreeTDM-CallReference", "%s", var_value);
+               }
 
                var_value = ftdm_sigmsg_get_var(sigmsg, "ss7_opc");
                if (!ftdm_strlen_zero(var_value)) {
index 0f3515097ba36b8d91fa66da4413ef32fc81de96..f351d8ab8d0b58c80ea635606842c21b228fdb1c 100644 (file)
@@ -252,10 +252,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) {
-                               ftdmchan->caller_data.call_reference = (unsigned int)siConEvnt->callRef.callId.val;
-                       } else {
-                               ftdmchan->caller_data.call_reference = 0;
-                       }
+                               sprintf(var, "%x", siConEvnt->callRef.callId.val);
+                               sngss7_add_var(sngss7_info, "ss7_callref", var);
+                       } 
                        
                        if (sngss7_info->circuit->transparent_iam) {
                                sngss7_save_iam(ftdmchan, siConEvnt);