From 2a8e9751a0bc280207c57a0b80b4ae764e41e489 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 12 Jan 2009 17:46:30 +0000 Subject: [PATCH] add type of num var for pri git-svn-id: http://svn.openzap.org/svn/openzap/trunk@622 a93c3328-9c30-0410-af19-c9cd2b2d52af --- libs/openzap/mod_openzap/mod_openzap.c | 12 ++++++++++++ libs/openzap/src/ozmod/ozmod_isdn/ozmod_isdn.c | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/libs/openzap/mod_openzap/mod_openzap.c b/libs/openzap/mod_openzap/mod_openzap.c index 935f367c61..ef1bd3e520 100644 --- a/libs/openzap/mod_openzap/mod_openzap.c +++ b/libs/openzap/mod_openzap/mod_openzap.c @@ -900,6 +900,8 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi switch_event_header_t *h; char *argv[3]; int argc = 0; + const char *var; + if (!outbound_profile) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Missing caller profile\n"); @@ -966,6 +968,16 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi if (!switch_strlen_zero(dest)) { zap_set_string(caller_data.ani.digits, dest); } + + if ((var = switch_event_get_header(var_event, "openzap_outbound_ton"))) { + if (!strcasecmp(var, "national")) { + caller_data.ani.type = Q931_TON_NATIONAL; + } + } else { + caller_data.ani.type = outbound_profile->destination_number_ton; + } + + caller_data.ani.plan = outbound_profile->destination_number_numplan; #if 0 if (!switch_strlen_zero(outbound_profile->rdnis)) { diff --git a/libs/openzap/src/ozmod/ozmod_isdn/ozmod_isdn.c b/libs/openzap/src/ozmod/ozmod_isdn/ozmod_isdn.c index c374eeded4..096086d437 100644 --- a/libs/openzap/src/ozmod/ozmod_isdn/ozmod_isdn.c +++ b/libs/openzap/src/ozmod/ozmod_isdn/ozmod_isdn.c @@ -1009,7 +1009,7 @@ static __inline__ void state_advance(zap_channel_t *zchan) * CallingNum IE */ Q931InitIECallingNum(&CallingNum); - CallingNum.TypNum = Q931_TON_UNKNOWN; + CallingNum.TypNum = zchan->caller_data.ani.type; CallingNum.NumPlanID = Q931_NUMPLAN_E164; CallingNum.PresInd = Q931_PRES_ALLOWED; CallingNum.ScreenInd = Q931_SCREEN_USER_NOT_SCREENED;