From acc1e1c9d05be14aaf6d285a2a22cc98ea2312b3 Mon Sep 17 00:00:00 2001 From: David Yat Sin <dyatsin@sangoma.com> Date: Thu, 9 Jun 2011 16:41:28 -0400 Subject: [PATCH] Fix for sending ServInfoA on ANSI --- .../src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h | 4 ++++ .../src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h index f88202b1a8..11ff2318bb 100644 --- a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h +++ b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h @@ -60,6 +60,10 @@ #define MAX_SIZEOF_SUBADDR_IE 24 /* as per Q931 4.5.9 */ +#define SNGSS7_SWITCHTYPE_ANSI(switchtype) (switchtype == LSI_SW_ANS88) || \ + (switchtype == LSI_SW_ANS92) || \ + (switchtype == LSI_SW_ANS95) + typedef struct ftdm2trillium { uint8_t ftdm_val; diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c index 91b8900fef..47249c2f5a 100644 --- a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c +++ b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c @@ -92,8 +92,10 @@ void ft_to_sngss7_iam (ftdm_channel_t * ftdmchan) /* Transmission medium requirements */ copy_txMedReq_to_sngss7(ftdmchan, &iam.txMedReq); - /* User Service Info A */ - copy_usrServInfoA_to_sngss7(ftdmchan, &iam.usrServInfoA); + if (SNGSS7_SWITCHTYPE_ANSI(g_ftdm_sngss7_data.cfg.isupCkt[sngss7_info->circuit->id].switchType)) { + /* User Service Info A */ + copy_usrServInfoA_to_sngss7(ftdmchan, &iam.usrServInfoA); + } /* Called Number information */ copy_cdPtyNum_to_sngss7(ftdmchan, &iam.cdPtyNum);