aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-04-21 20:23:01 +0000
committermattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-04-21 20:23:01 +0000
commit94c67341d75f1f4e386d7f70e7a59d23ac1a64c5 (patch)
tree01d4cc11fc0f2e56b2f1127b633a60e1f79c06b3 /channels
parente03d3d2650f1710f206b1b058e01b512a8743e52 (diff)
Merged revisions 114389 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r114389 | mattf | 2008-04-21 13:44:35 -0500 (Mon, 21 Apr 2008) | 1 line Add support for generic name transmission (#12484) on SS7 in chan_zap ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@114422 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_zap.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index ad420ab20..9762d4fbd 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -2380,6 +2380,7 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout)
const char *gen_digits = NULL;
const char *gen_dig_type = NULL;
const char *gen_dig_scheme = NULL;
+ const char *gen_name = NULL;
const char *jip_digits = NULL;
const char *lspi_ident = NULL;
const char *rlt_flag = NULL;
@@ -2465,6 +2466,10 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout)
if (gen_digits)
isup_set_gen_digits(p->ss7call, gen_digits, atoi(gen_dig_type), atoi(gen_dig_scheme));
+ gen_name = pbx_builtin_getvar_helper(ast, "SS7_GENERIC_NAME");
+ if (gen_name)
+ isup_set_generic_name(p->ss7call, gen_name, GEN_NAME_TYPE_CALLING_NAME, GEN_NAME_AVAIL_AVAILABLE, GEN_NAME_PRES_ALLOWED);
+
jip_digits = pbx_builtin_getvar_helper(ast, "SS7_JIP");
if (jip_digits)
isup_set_jip_digits(p->ss7call, jip_digits);
@@ -9469,12 +9474,10 @@ static void *ss7_linkset(void *data)
p->ss7call = e->iam.call;
isup_set_call_dpc(p->ss7call, dpc);
- if ( (p->use_callerid) && (!ast_strlen_zero(e->iam.calling_party_num)) )
- {
+ if ((p->use_callerid) && (!ast_strlen_zero(e->iam.calling_party_num))) {
ss7_apply_plan_to_number(p->cid_num, sizeof(p->cid_num), linkset, e->iam.calling_party_num, e->iam.calling_nai);
p->callingpres = ss7_pres_scr2cid_pres(e->iam.presentation_ind, e->iam.screening_ind);
- }
- else
+ } else
p->cid_num[0] = 0;
if (p->immediate) {
@@ -9490,7 +9493,11 @@ static void *ss7_linkset(void *data)
p->exten[0] = '\0';
p->cid_ani[0] = '\0';
- p->cid_name[0] = '\0';
+ if ((p->use_callerid) && (!ast_strlen_zero(e->iam.generic_name)))
+ ast_copy_string(p->cid_name, e->iam.generic_name, sizeof(p->cid_name));
+ else
+ p->cid_name[0] = '\0';
+
p->cid_ani2 = e->iam.oli_ani2;
p->cid_ton = 0;
ast_copy_string(p->charge_number, e->iam.charge_number, sizeof(p->charge_number));