[asterisk-dev] MeetMe: Development Request (and Bounty)

Olle E. Johansson oej at edvina.net
Tue Mar 8 07:35:06 CST 2011


8 mar 2011 kl. 14.15 skrev Klaus Darilion:

> 
> 
> Am 08.03.2011 11:54, schrieb Tony Mountifield:
>> In article <4D7602F3.4070103 at pernau.at>,
>> Klaus Darilion <klaus.mailinglists at pernau.at> wrote:
>>> 
>>> 
>>> Am 08.03.2011 10:54, schrieb Tony Mountifield:
>>>> In article <4D75577B.2090201 at digium.com>,
>>>> Kevin P. Fleming <kpfleming at digium.com> wrote:
>>>>> On 03/07/2011 03:29 PM, Olle E. Johansson wrote:
>>>>>> One really needs to hear media, busy or ringback tone from the other end.
>>>>> 
>>>>> If the other end is not providing any, because they are using signaling 
>>>>> instead of media to indicate call progress (or failure), then there 
>>>>> isn't anything to hear.
>>>>> 
>>>>> This could probably be addressed by modifying chan_local to have an 
>>>>> option that causes it to turn signaling for call progress into audible 
>>>>> indications, and then dialing out through chan_local instead of directly 
>>>>> through the destination channel driver.
>>>> 
>>>> Isn't that what the Progress() application is for? I seem to remember
>>>> using it in a similar situation.
>>> 
>>> Progress signals "progress". The problem is, that any upstream signaling
>>> should be converted into the proper in-band pattern.
>> 
>> softins*CLI> show application progress
>>  -= Info about application 'Progress' =- 
>> 
>> [Synopsis]
>> Indicate progress
>> 
>> [Description]
>>  Progress(): This application will request that in-band progress information
>> be provided to the calling channel.
>> 
>> softins*CLI>
>> 
>> I have used Progress in the dialplan immediately before a Dial to
>> specify that out-of-band indications (ringing, busy, etc.) received
>> from the called channel should be converted to in-band tones on the
>> calling channel.
> 
> That's not what Progress does:
> 
> /*!
> * \ingroup applications
> */
> static int pbx_builtin_progress(struct ast_channel *chan, const char *data)
> {
>        ast_indicate(chan, AST_CONTROL_PROGRESS);
>        return 0;
> }

Klaus,
Just grabbing a few lines from the source code is seldom very helpful. This part is not interesting, but the receiving end of this frame is the interesting part.

When a channel receives AST_CONTROL_PROGRESS the magic happens... Check the channel drivers. 
In SIP, we start generating early media.

/O


More information about the asterisk-dev mailing list