fixed the problem that misdn_write did not return -1 when called with 0 samples in a frame this resultet in a deadlock in some circumstances, when the call ended because of a busy extension. added encoding of keypad.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@62885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Christian Richter
2007-05-03 13:59:00 +00:00
parent de32406990
commit 70e95c4846
2 changed files with 5 additions and 1 deletions
+1 -1
View File
@@ -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 ) {
+4
View File
@@ -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) {