Summary:ASTERISK-06557: [patch ] Release the media-path when DTMF is sent outside of the media stream (SIP re-invites)
Reporter:Eliel Sardanons (eliel)Labels:
Date Opened:2006-03-16 08:57:43.000-0600Date Closed:2006-05-17 02:46:33
Versions:Frequency of
Environment:Attachments:( 0) sip_nbridge_tT.patch
Description:When we use Dial(|tT) so we can use the "Attended Transfer" feature, asterisk does not release the media-path even if DTMF is coming from SIP INFO...
So, I added a flag on the channel structure "dtmf_nbridge" to know if that channel is capable of sending DTMF to asterisk via other way (like chan_sip).
I also made a minor change on chan_sip to set this flag ON when dtmfmode=info is configured on that peer...
I don't know if this is the right way to do this, but I want to start a topic about this, and I think this is the best way.
Please correct me If i'm not doing this right or there is a better way to do this.
Comments:By: Olle Johansson (oej) 2006-03-16 09:00:50.000-0600

Well, we need to know the direction of the T and compare that with the user or the peer, depending whether it's incoming or outgoing... peers may have incoming too.

By: Eliel Sardanons (eliel) 2006-03-16 14:52:20.000-0600

With this patch we check the 't' and 'T' parameter to release the media-path in more situations.
When a tranfers is made the media path is not released, this is because the use of a chan_local, so a generic_bridge is used.
All the channels that are capable of sending dtmf to asterisk and using their native bridge can use this on their "->bridge" function:
if ( ((flags & AST_BRIDGE_DTMF_CHANNEL_0) && !(c0->dtmf_nbridge)) || ((flags & AST_BRIDGE_DTMF_CHANNEL_1) && !(c1->dtmf_nbridge)))
               return AST_BRIDGE_FAILED_NOWARN;

PD: My disclaimer will be send tomorrow...

By: Eliel Sardanons (eliel) 2006-03-17 13:06:19.000-0600

I already signed a disclaimer.

By: Serge Vecher (serge-v) 2006-05-08 09:51:56

patch still applies to r25564

By: Olle Johansson (oej) 2006-05-17 02:45:38

Seems like Kevin implemented this in another way yesterday.

By: Olle Johansson (oej) 2006-05-17 02:46:20

Thank you for your efforts in this matter. We did reach a solution, even by using other code.

Thanks for contributing to the Asterisk project!