mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-14 16:15:04 +00:00
freetdm: adding x-ocn-* headers for incoming sip calls
This commit is contained in:
parent
1f34c9301e
commit
3f43b053a0
@ -26,6 +26,7 @@
|
|||||||
* Anthony Minessale II <anthm@freeswitch.org>
|
* Anthony Minessale II <anthm@freeswitch.org>
|
||||||
* Moises Silva <moy@sangoma.com>
|
* Moises Silva <moy@sangoma.com>
|
||||||
* David Yat Sin <dyatsin@sangoma.com>
|
* David Yat Sin <dyatsin@sangoma.com>
|
||||||
|
* James Zhang <jzhang@sangoma.com>
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* mod_freetdm.c -- FreeTDM Endpoint Module
|
* mod_freetdm.c -- FreeTDM Endpoint Module
|
||||||
|
@ -200,6 +200,7 @@ ftdm_status_t handle_con_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circ
|
|||||||
SS7_INFO_CHAN(ftdmchan,"No Called party (DNIS) information in IAM!%s\n", " ");
|
SS7_INFO_CHAN(ftdmchan,"No Called party (DNIS) information in IAM!%s\n", " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
copy_ocn_from_sngss7(ftdmchan, &siConEvnt->origCdNum);
|
||||||
copy_redirgNum_from_sngss7(ftdmchan, &siConEvnt->redirgNum);
|
copy_redirgNum_from_sngss7(ftdmchan, &siConEvnt->redirgNum);
|
||||||
copy_redirgInfo_from_sngss7(ftdmchan, &siConEvnt->redirInfo);
|
copy_redirgInfo_from_sngss7(ftdmchan, &siConEvnt->redirInfo);
|
||||||
copy_genNmb_from_sngss7(ftdmchan, &siConEvnt->genNmb);
|
copy_genNmb_from_sngss7(ftdmchan, &siConEvnt->genNmb);
|
||||||
|
@ -640,7 +640,41 @@ ftdm_status_t copy_redirgInfo_to_sngss7(ftdm_channel_t *ftdmchan, SiRedirInfo *r
|
|||||||
|
|
||||||
ftdm_status_t copy_ocn_from_sngss7(ftdm_channel_t *ftdmchan, SiOrigCdNum *origCdNum)
|
ftdm_status_t copy_ocn_from_sngss7(ftdm_channel_t *ftdmchan, SiOrigCdNum *origCdNum)
|
||||||
{
|
{
|
||||||
return FTDM_FAIL;
|
|
||||||
|
char val[20];
|
||||||
|
sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
|
||||||
|
|
||||||
|
if (origCdNum->eh.pres != PRSNT_NODEF ) {
|
||||||
|
ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "No Original Called Number available\n");
|
||||||
|
return FTDM_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (origCdNum->addrSig.pres == PRSNT_NODEF) {
|
||||||
|
copy_tknStr_from_sngss7(origCdNum->addrSig, val, origCdNum->oddEven);
|
||||||
|
ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Original Called Number digits:%s\n", val);
|
||||||
|
sngss7_add_var(sngss7_info, "ss7_ocn", val);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (origCdNum->natAddr.pres == PRSNT_NODEF) {
|
||||||
|
snprintf(val, sizeof(val), "%d", origCdNum->natAddr.val);
|
||||||
|
ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Original Called Number - NADI:%s\n", val);
|
||||||
|
sngss7_add_var(sngss7_info, "ss7_ocn_nadi", val);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (origCdNum->numPlan.pres == PRSNT_NODEF) {
|
||||||
|
snprintf(val, sizeof(val), "%d", origCdNum->numPlan.val);
|
||||||
|
ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Original Called Number -plan:%s\n", val);
|
||||||
|
sngss7_add_var(sngss7_info, "ss7_ocn_plan", val);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (origCdNum->presRest.pres == PRSNT_NODEF) {
|
||||||
|
snprintf(val, sizeof(val), "%d", origCdNum->presRest.val);
|
||||||
|
ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Original Called Number - presentation:%s\n", val);
|
||||||
|
sngss7_add_var(sngss7_info, "ss7_ocn_pres", val);
|
||||||
|
}
|
||||||
|
|
||||||
|
return FTDM_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
ftdm_status_t copy_ocn_to_sngss7(ftdm_channel_t *ftdmchan, SiOrigCdNum *origCdNum)
|
ftdm_status_t copy_ocn_to_sngss7(ftdm_channel_t *ftdmchan, SiOrigCdNum *origCdNum)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user