]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
automerge commit
authorAutomerge Script <automerge@asterisk.org>
Wed, 11 Apr 2007 12:40:12 +0000 (12:40 +0000)
committerAutomerge Script <automerge@asterisk.org>
Wed, 11 Apr 2007 12:40:12 +0000 (12:40 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@61371 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c
channels/misdn/isdn_lib.c

index 72928717d4929681b3f16aed4ebc25568029c9e6..0adf42380cc2c8295821ef22af65ee5a27151e50 100644 (file)
@@ -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);
index 194b07bd7515496f9bd4ce44514df06bbf3c809b..5f2d847c54b0a9217f5af3c095fdf0c1b889b6aa 100644 (file)
@@ -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)