diff options
author | mattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-04-21 20:23:01 +0000 |
---|---|---|
committer | mattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-04-21 20:23:01 +0000 |
commit | 94c67341d75f1f4e386d7f70e7a59d23ac1a64c5 (patch) | |
tree | 01d4cc11fc0f2e56b2f1127b633a60e1f79c06b3 /channels | |
parent | e03d3d2650f1710f206b1b058e01b512a8743e52 (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.c | 17 |
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)); |