ftdm_ss7: Adding OPC and Call Reference Number to SIP x-headers

This commit is contained in:
James Zhang 2011-09-30 10:25:21 -04:00
parent edad46647b
commit 20abac2794
2 changed files with 23 additions and 0 deletions

View File

@ -1830,6 +1830,21 @@ 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);
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 */

View File

@ -269,6 +269,14 @@ ftdm_status_t handle_con_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circ
sprintf(var, "%d", sngss7_info->circuit->cic);
sngss7_add_var(sngss7_info, "ss7_cic", var);
sprintf(var, "%d", g_ftdm_sngss7_data.cfg.isupIntf[sngss7_info->circuit->infId].spc );
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);
}
if (sngss7_info->circuit->transparent_iam) {
sngss7_save_iam(ftdmchan, siConEvnt);
}