mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Merged revisions 62912 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r62912 | crichter | 2007-05-03 16:36:32 +0200 (Do, 03 Mai 2007) | 17 lines Merged revisions 61357,61770,62885 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r61357 | crichter | 2007-04-11 14:05:57 +0200 (Mi, 11 Apr 2007) | 1 line some fixes for PMP Hold/Retrieve, it should work now, when briding=no ........ r61770 | crichter | 2007-04-24 15:50:05 +0200 (Di, 24 Apr 2007) | 1 line added lock for sending messages to avoid double sending. shuffled some empty_chans after the cb_event calls, this avoids that a release_complete from a quite different call releases a fresh created setup by accident. ........ r62885 | crichter | 2007-05-03 15:59:00 +0200 (Do, 03 Mai 2007) | 1 line 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/trunk@64955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1124,8 +1124,8 @@ static int misdn_show_cls (int fd, int argc, char *argv[])
|
||||
print_bc_info(fd, help, bc);
|
||||
} else {
|
||||
if (help->state == MISDN_HOLDED) {
|
||||
chan_misdn_log(2, 0, "ITS A HOLDED BC:\n");
|
||||
chan_misdn_log(2,0," --> l3_id: %x\n"
|
||||
ast_cli(fd, "ITS A HOLDED BC:\n");
|
||||
ast_cli(fd, " --> l3_id: %x\n"
|
||||
" --> dad:%s oad:%s\n"
|
||||
" --> hold_port: %d\n"
|
||||
" --> hold_channel: %d\n"
|
||||
@@ -2621,7 +2621,8 @@ static struct ast_frame *misdn_read(struct ast_channel *ast)
|
||||
chan_misdn_log(1,0,"misdn_read called without ast->pvt\n");
|
||||
return NULL;
|
||||
}
|
||||
if (!tmp->bc) {
|
||||
|
||||
if (!tmp->bc && !(tmp->state==MISDN_HOLDED)) {
|
||||
chan_misdn_log(1,0,"misdn_read called without bc\n");
|
||||
return NULL;
|
||||
}
|
||||
@@ -4625,7 +4626,11 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
|
||||
/***************************/
|
||||
case EVENT_RETRIEVE:
|
||||
{
|
||||
ch=find_holded_l3(cl_te, bc->l3_id,1);
|
||||
if (!ch) {
|
||||
chan_misdn_log(4, bc->port, " --> no CH, searching in holded");
|
||||
ch=find_holded_l3(cl_te, bc->l3_id,1);
|
||||
}
|
||||
|
||||
if (!ch) {
|
||||
ast_log(LOG_WARNING, "Found no Holded channel, cannot Retrieve\n");
|
||||
misdn_lib_send_event(bc, EVENT_RETRIEVE_REJECT);
|
||||
|
Reference in New Issue
Block a user