]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fixed parking bug w/ chan_sip and loss of MOH
authorMatthew Fredrickson <creslin@digium.com>
Thu, 17 Mar 2005 23:48:42 +0000 (23:48 +0000)
committerMatthew Fredrickson <creslin@digium.com>
Thu, 17 Mar 2005 23:48:42 +0000 (23:48 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@5200 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_features.c

index 8bcc97dfb58b0a86572f42ed1f9ea3490a8a2ce2..2271ebc8f3da34621002dab91cd31720b78d634f 100755 (executable)
@@ -103,6 +103,7 @@ struct parkeduser {
        int priority;
        int parkingtime;
        int notquiteyet;
+       unsigned char moh_trys;
        struct parkeduser *next;
 };
 
@@ -635,6 +636,11 @@ static void *do_parking_thread(void *ignore)
                                                } else {
                                                        /* XXX Maybe we could do something with packets, like dial "0" for operator or something XXX */
                                                        ast_frfree(f);
+                                                       if (pu->moh_trys < 3 && !pu->chan->generatordata) {
+                                                               ast_log(LOG_DEBUG, "MOH on parked call stopped by outside source.  Restarting\n");
+                                                               ast_moh_start(pu->chan, NULL);
+                                                               pu->moh_trys++;
+                                                       }
                                                        goto std;       /* XXX Ick: jumping into an else statement??? XXX */
                                                }
                                        }