HANGUP -> TRUNK_TIMER_EXPIRED

"Julien Chavanton" <[email protected]>
Newsgroups gmane.comp.gnu.bayonne.devel
Message-ID <[email protected]>
Hi David,

I have a problem with Bayonne hangup state sometime the
TRUNK_TIMER_EXPIRED trigger in less then one second.

Aug 24 16:03:10 10.0.4.9/10.0.4.9 bayonne: dx(8): GCEV_DISCONNECTED
HDL:23 CRN:33591316
Aug 24 16:03:10 10.0.4.9/10.0.4.9 bayonne: dx(8): dx_stopch()
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): no file to play
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): dx_stopch()
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): exit
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): script exiting
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): HANGUP TRUNK_ENTER_
STATE reset_timer:1090055000 hangup_timer:100
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): hangup
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): dx_stopch()
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): gc_DropCall(33591316)
== SUCCESS
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): detach script
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): HANGUP
TRUNK_TIMER_EXPIRED
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8):
gc_ReleaseCallEx(33591316) == FAILURE
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): IDLE TRUNK_ENTER_STATE
HDL:23 CRN:33591316
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): idle
Aug 24 16:03:11 10.0.4.9/10.0.4.9 bayonne: dx(8): GCEV_DROPCALL HDL:23
CRN:33591316


I did modify hangup.cpp

case TRUNK_ENTER_STATE:
             synctimer = exittimer = 0;
             TimerPort::endTimer();
             TimerPort::setTimer(60000);
             slog(Slog::levelDebug) <<"dx(" << id << "): HANGUP
TRUNK_ENTER_ STATE reset_timer:"<<reset<<"
hangup_timer:"<<group->getHangup()<<endl;
             enterState("hangup");
             stopChannel(EV_ASYNC);
             status[id] = 'h';
              // Is this right, normally we go the other way.
                if(join)
                        Part();
                if(tgi.pid)
                        ::kill(tgi.pid, SIGHUP);
                if(thread)
                        reset = thread->stop();
                else
                        reset = 0;
                Trunk::flags.dsp = DSP_MODE_INACTIVE;

                if(!hangupCall())
                {
                        handler = &DialogicTrunk::idleHandler;
                        return true;
                }

                Trunk::detach();
                /*
                if(group->getHangup() > reset)
                        TimerPort::setTimer(group->getHangup());
                else
                        TimerPort::setTimer(reset);
                */
                return true;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.