Nice.. That's about what I had in mind.. I'll be looking for more discussion regarding this. :)<div>-Brett</div><div><br><br><div class="gmail_quote">On Mon, Jun 15, 2009 at 8:21 PM, Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Brett,<div class="im"><br>
<br>
Brett Nemeroff wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
my $0.02 here.. I'm not sure if this is what you guys had in mind.. but I've had situations where this would be handy.. It'd need to have some way of identifing the codec (by number?). I'm not sure if the core really has anything that parses the SDP by RFC spec,<br>
</blockquote></div>
there is an SDP parser in the core :)<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
so I'm not sure how you'd do things like "removing g729 codec including the annex=b annotation".<br>
</blockquote></div>
but not sure if so complex :D (like relation between the SDP fields).<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But imaging that anything is possible:<br>
<br>
</blockquote></div>
what we had in mind was to add functions to:<br>
<br>
1) test if a codec is advertised<br>
2) remove codecs<br>
3) change the priority between the existing codecs<br>
<br>
<br>
Regards,<br>
bogdan<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
I imagine functions:<br>
reject_codec: reject a call if a codec matches<br>
remove_codec: remove an offered codec<br>
codec_present: returns true if codec specified is offered<br>
<br>
if (reject_codec('ulaw')) {<br>
sl_send_reply("488","ULAW Calls not allowed");<br>
exit;<br>
}<br>
<br>
<br>
if ((codec_present('ULAW')) && codec_present('G729a')) {<br>
remove_codec('ULAW');<br>
xlog("L_INFO","Removing bad codec: ULAW");<br>
}<br>
<br>
if (!codec_present('G729a')){<br>
sl_send_reply("488","Please send G729a calls");<br>
}<br>
<br>
<br></div><div class="im">
On Mon, Jun 15, 2009 at 3:02 PM, Jeff Pyle <<a href="mailto:jpyle@fidelityvoice.com" target="_blank">jpyle@fidelityvoice.com</a> <mailto:<a href="mailto:jpyle@fidelityvoice.com" target="_blank">jpyle@fidelityvoice.com</a>>> wrote:<br>
<br>
Hi Bogdan,<br>
<br>
It’s been a little while since we talked about this. I was<br>
wondering if there was anything in the works to detect and/or<br>
manipulate the codecs present in an SDP.<br>
<br>
<br>
<br>
- Jeff<br>
<br>
<br>
<br>
<br>
On 2/1/09 4:08 AM, "Steve Kurzeja" <<a href="mailto:steve.kurzeja@gmail.com" target="_blank">steve.kurzeja@gmail.com</a><br></div><div class="im">
<<a href="http://steve.kurzeja" target="_blank">http://steve.kurzeja</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>>> wrote:<br>
<br>
This idea is quite standard in SBCs, typically called codec<br>
profiles, where you permit only certain codecs to be passed<br>
through the SBC in an INVITE and all the rest are stripped out.<br>
<br>
We use it to get around interop issues with certain codecs.<br>
E.g. we have some end devices/customers that have issues using<br>
g729a so we choose to remove this codec for these specific<br>
endpoints.<br>
<br>
The poor man's method to implementing this is just doing<br>
header manipulations in the SDP but it would be nice to be<br>
standardized.<br>
<br>
Regards,<br>
Steve<br>
<br>
<br>
On Fri, Jan 30, 2009 at 2:20 AM, Jeff Pyle<br></div><div><div></div><div class="h5">
<<a href="mailto:jpyle@fidelityvoice.com" target="_blank">jpyle@fidelityvoice.com</a> <<a href="http://jpyle" target="_blank">http://jpyle</a>@<a href="http://fidelityvoice.com" target="_blank">fidelityvoice.com</a>>> wrote:<br>
<br>
Hi Bogdan,<br>
<br>
I'm looking for the ability to selectively remove codec<br>
advertisements from<br>
the SDP. For example, if my customer sends a call to me<br>
for PSTN<br>
termination he may advertise G711 and G729, with G711<br>
preferred. By looking<br>
at the number of existing dialogs I may know that he's<br>
running low on<br>
bandwidth, so I would like to suppress the G711<br>
advertisement ultimately<br>
causing a 200 OK from the carrier with G729.<br>
<br>
Generically, in this application we're looking only to<br>
suppress G711 at<br>
certain times.<br>
<br>
I understand normally codec selection is done completely<br>
by the gateway<br>
device. However, my gateway devices aren't smart enough to<br>
take bandwidth<br>
utilization into consideration when choosing which codecs<br>
to advertise. I'm<br>
hoping my proxy might be. :)<br>
<br>
Does that make sense?<br>
<br>
<br>
<br>
- Jeff<br>
<br>
<br>
<br>
On 1/29/09 5:04 AM, "Bogdan-Andrei Iancu"<br></div></div>
<<a href="mailto:bogdan@voice-system.ro" target="_blank">bogdan@voice-system.ro</a> <<a href="http://bogdan" target="_blank">http://bogdan</a>@<a href="http://voice-system.ro" target="_blank">voice-system.ro</a>>><div>
<div></div><div class="h5"><br>
wrote:<br>
<br>
> Hi Jeff,<br>
><br>
> right now there is only available some functionality to<br>
check the codecs<br>
> (to see what codecs are advertised in the SDP)... What<br>
exactly are you<br>
> looking for (like codec ops) ?<br>
><br>
> Regards,<br>
> Bogdan<br>
><br>
> Jeff Pyle wrote:<br>
>> Bogdan,<br>
>><br>
>> Some months back you mentioned an upcoming feature that<br>
would allow<br>
>> Opensips to manipulate the codecs present in the SDP.<br>
Just wondering<br>
>> if there is anything available to test yet. This feature, in<br>
>> combination with dialog contexts, will be of great use<br>
to us to allow<br>
>> us to take a guess at the bandwidth consumption for a<br>
particular<br>
>> customer and force the use of a compressed codec if<br>
necessary.<br>
>><br>
>><br>
>> Thanks,<br>
>> Jeff<br>
><br>
<br>
<br>
_______________________________________________<br>
Users mailing list<br></div></div>
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a> <<a href="http://Users" target="_blank">http://Users</a>@<a href="http://lists.opensips.org" target="_blank">lists.opensips.org</a>><div class="im">
<br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Users mailing list<br></div>
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a> <mailto:<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>><div class="im"><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
<br>
<br>
</div></blockquote>
<br>
</blockquote></div><br></div>