bayonne-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bayonne-devel] HANGUP -> TRUNK_TIMER_EXPIRED


From: Julien Chavanton
Subject: [Bayonne-devel] HANGUP -> TRUNK_TIMER_EXPIRED
Date: Wed, 24 Aug 2005 11:23:27 -0400

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;







reply via email to

[Prev in Thread] Current Thread [Next in Thread]