RE: Bayonne Globalcall TASKFAIL and TRUNK_CALL_FAILURE

"Julien Chavanton" <[email protected]> Wed, 28 Dec 2005 13:38:27 -0500
Newsgroups gmane.comp.gnu.bayonne.devel
Message-ID <[email protected]>
I have made a few modification to globalcall drivers to handle TASKFAIL
more efficiently

 

I always reset the port when there is a TASKFAIL because anyway when
there is a TASKFAIL the call is lost and most of the time the TASKFAIL
is caused by short call

Or abandon calls.

 

This is producing positive results.

 

The only difficulty was to keep bayonne state sync with Globalcall state
because RESETLINEDEV is not the normal state transition.

 

-------------------------------------------------------------

 

I keep an eye on Bayonne 2 evolution; it would be interesting for me to
help with the Globalcall Drivers in Bayonne 2.

 

Something positive about Globalcall is that Intel is moving to HMP host
media processing  "Voip  library optimized for Xeon CPU".

And this may be the best performance Voip solution available due to the
integration in the Xeon CPU internal instructions.

 

If they succeed Globalcall should be almost compatible with HMP, and
bayonne could be HMP enabled without to much work.

However HMP is commercial I think it is 10$ a port and it may be too
much for a software solution.

 

Julien

 

 

  _____  

From: bayonne-devel-bounces+j.chavanton=oneworldinteractive.com@gnu.org
[mailto:[email protected]
g] On Behalf Of Julien Chavanton
Sent: December 19, 2005 10:09 AM
To: [email protected]
Cc: [email protected]
Subject: [Bayonne-devel] Bayonne Globalcall TASKFAIL and
TRUNK_CALL_FAILURE

 

Hi David,

 

I am looking to modify TRUNK_CALL_FAILURE in bayonne globalcall since
this is currently handled as a disconnection.

It was not that bad but most of the time this is not enough.

 

And we loose port, only when there is a TASKFAIL that is really caused
by the Dialogic drivers.

 

The main source of TASKFAIL is abandon calls and short calls the
Dialogic drivers are not capable of handling this automatically and this
result in TASKFAIL

 

The only problem I think is that the script may be left attached and the
next call will fail to attach.

 

Here is what I have in mind:

 

globalcall/driver.cpp

case GCEV_TASKFAIL

            event.id = TRUNK_CALL_FAILURE;

            trunk->postEvent(&event);

            gc_ResetLineDev(linedev, EV_ASYNC);

            break;            

 

globalcall/trunk.cpp

case TRUNK_CALL_FAILURE:

                // We need to prepare Bayonne for recovery of next call

                Trunk::detach();

                

                if(join)

                        Part();

                if(tgi.pid)

                        ::kill(tgi.pid, SIGHUP);

                if(thread)

                        thread->stop();

                Trunk::flags.dsp = DSP_MODE_INACTIVE;

 

 

 

More information about TASKFAIL if any interest:

 

How to Handle GCEV_TASKFAIL Events (However I have made some test and I
am not sure about this article complete accuracy)

http://resource.intel.com/telecom/support/tnotes/tnbyos/2000/tn061.htm

 

 

You can find information about abandon calls here:

http://resource.intel.com/telecom/support/releases/winnt/SR511FP1/onldoc
/htmlfiles/gcprgdw/gc-sta15.htm

_______________________________________________
Bayonne-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bayonne-devel