diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index b2f80d6bb021064431925d88c3665a442ddbac5d..bfbf907f2c92f08a3b63b3a42de8b8f35122e8ce 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -2946,6 +2946,10 @@ void import_ies(struct ast_channel *chan, struct misdn_bchannel *bc) tmp=pbx_builtin_getvar_helper(chan,"PRI_USER1"); if (tmp) bc->user1=atoi(tmp); + + tmp=pbx_builtin_getvar_helper(chan,"RDNIS"); + if (tmp) ast_copy_string(bc->rad,tmp,sizeof(bc->rad)); + } void export_ies(struct ast_channel *chan, struct misdn_bchannel *bc) @@ -2963,6 +2967,8 @@ void export_ies(struct ast_channel *chan, struct misdn_bchannel *bc) sprintf(tmp,"%d",bc->user1); pbx_builtin_setvar_helper(chan,"PRI_USER1",tmp); + + pbx_builtin_setvar_helper(chan,"RDNIS",bc->rad); } diff --git a/channels/misdn/isdn_msg_parser.c b/channels/misdn/isdn_msg_parser.c index 4935deefac50213d0abd9bb2953adeea6929b155..5eb7e1f68337c4b3d1fea13376ce4eebb71cd934 100644 --- a/channels/misdn/isdn_msg_parser.c +++ b/channels/misdn/isdn_msg_parser.c @@ -277,6 +277,13 @@ msg_t *build_setup (struct isdn_msg msgs[], struct misdn_bchannel *bc, int nt) if (bc->dad[0]) enc_ie_called_pn(&setup->CALLED_PN, msg, bc->dnumplan, 1, bc->dad, nt,bc); } + + { + if (bc->rad[0]) + enc_ie_redir_nr(&setup->REDIR_NR, msg, 1, 1, bc->pres, bc->screen, 0, bc->rad, nt,bc); + } + + if (*bc->display) { enc_ie_display(&setup->DISPLAY, msg, bc->display, nt,bc);