diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 0adf42380c..a56542c4a0 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -2308,7 +2308,7 @@ static int misdn_write(struct ast_channel *ast, struct ast_frame *frame) if ( !frame->samples ) { chan_misdn_log(4, ch->bc->port, "misdn_write: zero write\n"); - return 0; + return -1; } if ( ! ch->bc->addr ) { diff --git a/channels/misdn/isdn_msg_parser.c b/channels/misdn/isdn_msg_parser.c index da73cb42ff..305b6c895c 100644 --- a/channels/misdn/isdn_msg_parser.c +++ b/channels/misdn/isdn_msg_parser.c @@ -285,6 +285,10 @@ msg_t *build_setup (struct isdn_msg msgs[], struct misdn_bchannel *bc, int nt) enc_ie_redir_nr(&setup->REDIR_NR, msg, 1, 1, bc->pres, bc->screen, 0, bc->rad, nt,bc); } + { + if (bc->keypad[0]) + enc_ie_keypad(&setup->CALLED_PN, msg, bc->keypad, nt,bc); + } if (*bc->display) {