[ previous ] [ next ] [ threads ]
 To :  Bill Simon <bill@b...>
 From :  Marian Podgoreanu <marian@v...>
 Subject :  Re: [yate] Prevent Yate from transcoding
 Date :  Tue, 26 Mar 2013 14:43:38 +0200
Hi,

The media list won't be changed unless you want to set a single received 
format:
E.g. received 'gsm,mulaw' can be changed to 'mulaw'

You can reject the call if desired format is not in the offer:

[contexts]
${formats}mulaw^=-;error=nomedia

Marian

On 3/22/2013 5:01 AM, Bill Simon wrote:
> For the sake of testing, I set this:
>
> [contexts]
> .*=;rtp_forward=no;formats=mulaw
>
> [default]
> .*=;formats=mulaw
> .*=jingle/${called}@v...;line=GV;ojingle_version=0;ojingle_flags=noping;redirectcount=5;checkcalled=false;dtmfmethod=rfc2833
>
>
> Placing a call from SIP to the jingle target, I see this sequence in the logs with sniffer turned on:
>
> Sniffed 'call.preroute' time=1363918521.221970^M
>    param['formats'] = 'gsm'^M
>
> (call comes in with gsm only)
>
> Returned false 'call.preroute' delay=0.000949^M
>    param['formats'] = 'mulaw'^M
>
> (preroute sets formats to mulaw only)
>
> Sniffed 'call.route' time=1363918521.221970^M
>    param['formats'] = 'mulaw'^M
>
> Returned true 'call.route' delay=0.008331^M
>    param['formats'] = 'mulaw'^M
>
> It looks good so far, and then this line appears:
>
> 20130322021521.231271  Not changing to 'mulaw' from 'gsm' [0x172c6cf0]
>
> Sniffed 'call.execute' time=1363918521.221970^M
>    param['formats'] = 'mulaw'^M
>
> Returned true 'call.execute' delay=0.011453^M
>    param['formats'] = 'mulaw'^M
>
> then a masquerade and the other call.execute because of google voice redirect...
>
> Returned true 'call.execute' delay=0.001421^M
>    param['formats'] = 'mulaw'^M
>
>
> Then the jingle leg connects, mulaw as expected
>
> Sniffed 'chan.rtp' time=1363918521.428908^M
>    param['format'] = 'mulaw'^M
>
> Now the SIP side, and what? where did gsm come from?
>
> Sniffed 'chan.rtp' time=1363918525.223366^M
>    param['module'] = 'sip'^M
>    param['format'] = 'gsm'^M
>
> then because I have SIP debugs on I can see the SIP 200 being sent back to the client with GSM codec in the SDP.
>
> Thanks for your help,
> Bill
>
>
> On Mar 21, 2013, at 3:56 AM, Marian Podgoreanu wrote:
>
>> Hi,
>>
>> Can you send the routing rule(s)?
>>
>> Marian
>>
>> On 3/20/2013 5:11 AM, Bill Simon wrote:
>>> Yate seems to automatically transcode even when I try to prevent it from doing so.
>>>
>>> The scenario is interworking between Jingle and SIP. On the Jingle side the only format available is mulaw (set in yjinglechan.conf). On SIP I have enabled mulaw and gsm (in ysipchan.conf).
>>>
>>> In prerouting and routing I set formats=mulaw so that this should be the only format offered on either leg.
>>>
>>> When I connect a SIP client that has only gsm enabled, Yate transcodes between it and mulaw anyway on a call from SIP to Jingle. This message appears in the log:
>>>
>>> 20130320010428.133080  Not changing to 'mulaw' from 'gsm' [0xfe74b60]
>>>
>>> In this case, I want the call to fail (and return a SIP 415 Unsupported Media Type) when the SIP caller is trying to force gsm and I am trying to force mulaw. How do I stop Yate from transcoding?
>>>
>