aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorautomerge <automerge@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-11 12:40:12 +0000
committerautomerge <automerge@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-11 12:40:12 +0000
commit844fee92af5d1978ab3a8db3aa14d31b85d68f8d (patch)
tree2e3fc655dc8c313f130429a324f1aa83227be11d
parentdefbe5972a34a44b2c1f338d17cc1613d2abb91c (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@61371 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_misdn.c13
-rw-r--r--channels/misdn/isdn_lib.c7
2 files changed, 13 insertions, 7 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index 72928717d..0adf42380 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -821,8 +821,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"
,help->l3id
@@ -2238,7 +2238,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;
}
@@ -4140,7 +4141,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);
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index 194b07bd7..5f2d847c5 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -1816,7 +1816,7 @@ handle_event_nt(void *dat, void *arg)
return 0;
}
- cb_log(7, stack->port, " --> new_process: New L3Id: %x\n",hh->dinfo);
+ cb_log(4, stack->port, " --> new_process: New L3Id: %x\n",hh->dinfo);
bc->l3_id=hh->dinfo;
}
@@ -3291,10 +3291,11 @@ int misdn_lib_send_event(struct misdn_bchannel *bc, enum event_e event )
if (bc->bc_state == BCHAN_BRIDGED) {
misdn_split_conf(bc,bc->conf_id);
struct misdn_bchannel *bc2=find_bc_by_confid(bc->conf_id);
- if (!bc2)
+ if (!bc2) {
cb_log(0,bc->port,"We have no second bc in bridge???\n");
- else
+ } else {
misdn_split_conf(bc2,bc->conf_id);
+ }
}
if (bc->channel>0)