]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
automerge commit
authorAutomerge Script <automerge@asterisk.org>
Tue, 19 Jun 2007 13:25:59 +0000 (13:25 +0000)
committerAutomerge Script <automerge@asterisk.org>
Tue, 19 Jun 2007 13:25:59 +0000 (13:25 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@69893 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c
res/res_features.c

index 3181a1a53b096fba9d0003f2b707f858eee1dbb4..a5aef1dfb01a5b03d88b25b4484fab32007a4f13 100644 (file)
@@ -2304,8 +2304,14 @@ static int misdn_hangup(struct ast_channel *ast)
                chan_misdn_log(2, bc->port, " --> state:%s\n", misdn_get_ch_state(p));
                
                switch (p->state) {
-               case MISDN_INCOMING_SETUP:
                case MISDN_CALLING:
+               case MISDN_INCOMING_SETUP:
+                       /* This is the only place in misdn_hangup, where we 
+                        * can call release_chan, else it might create lot's of trouble
+                        * */
+                       ast_log(LOG_NOTICE, "release channel, in CALLING/INCOMING_SETUP state.. no other events happened\n");
+                       release_chan(bc);
+
                        p->state=MISDN_CLEANING;
                        misdn_lib_send_event( bc, EVENT_RELEASE_COMPLETE);
                        break;
index 7211e5daa85ca8127e964ddf2f281908f383d302..30326d3a58a18709c2ffd092d04ab3058ba79f81 100644 (file)
@@ -383,12 +383,12 @@ int ast_park_call(struct ast_channel *chan, struct ast_channel *peer, int timeou
                        ast_log(LOG_ERROR, "Parking context '%s' does not exist and unable to create\n", parking_con);
                }
        }
+       if (peer) 
+               ast_say_digits(peer, pu->parkingnum, "", peer->language);
        if (con) {
                snprintf(exten, sizeof(exten), "%d", x);
                ast_add_extension2(con, 1, exten, 1, NULL, NULL, parkedcall, strdup(exten), FREE, registrar);
        }
-       if (peer) 
-               ast_say_digits(peer, pu->parkingnum, "", peer->language);
        if (pu->notquiteyet) {
                /* Wake up parking thread if we're really done */
                ast_moh_start(pu->chan, NULL);