cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1449
Views
0
Helpful
8
Replies

Changing codec

haniyeh80
Level 1
Level 1

Hi

Is it possible to change the codec (from G.711 to G.729 or reverse) during the call?

I mean in the call that is still in progress.

Dose SIP have this capability?

1 Accepted Solution

Accepted Solutions

Yes, It's possible.
An example is the fax up-speed mechanisms.
A call starts with G.729, the fax is detected, a new INVITE+SDP is sent to change the codec to G.711.

These mechanisms are called "re-negotiation on an established call" and the new message sent is called RE-INVITE.

View solution in original post

8 Replies 8

Yes, It's possible.
An example is the fax up-speed mechanisms.
A call starts with G.729, the fax is detected, a new INVITE+SDP is sent to change the codec to G.711.

These mechanisms are called "re-negotiation on an established call" and the new message sent is called RE-INVITE.

thanks for your reply.

do you know where we can configure it?

and how often do these re-invites come?

Can you describe your scenario with more details?
If your goal is configure fax upspeed in a cisco gateway you can follow these instructions: http://www.cisco.com/en/US/docs/ios/12_3/vvf_c/cisco_ios_fax_services_over_ip_application_guide/pt.html

In case of fax, the upspeed procedure starts with detection of a fax tone on an established call.

So you have an INVITE to initiate the call and a RE-INVITE to change the codec.

Actually I want to apply codec switching in multi-rate wireless LAN, and it means when transmission rate reduced for example from 11Mbps to 5.5Mbps, system switch to the lower bit-rate codec like G.711 to G.729 and reverse when transmission rate increased.

If this transmission rate changing take place during call as you mention we should apply this codec adjustment with re-invite message. Now I want to know about this re-invite message, shall we configure it in the access point or wireless station or SIP server?

and how often does this message come to network?

In my opinion the working scenario which you have described is practically impossible to realize.
Every devices should be able to triggering codec negotiation on the base of network conditions. Or a "third party supervisor" should inform other SIP clients to renegotiate codecs.
Something like this is the CAC (call admission control) but it allows or denies a new call on the base of particular conditions but you say to renegotiate an estabilished call.

Why do you want to use G.711 insted of G.729?
The quality of G.729 is near to G.711:

Compression Method    Bit Rate (kbps)        MOS Score    Compression Delay (ms)
G.711 PCM                  64                           4.1                  0.75
G.729 CS-ACELP         8                             3.92                10
G.729a CS-ACELP       8                             3.7                  10

My suggestion is to use G.729 only.

Regards.

Many thanks for your explanation.

You mean even if I have CAC, it is not possible to renegotiate the Codec on the established calls?

I never tested this but I try to describe a possible scenario:
if your voip clients use a cisco gateway you can try to use a IP SLAs monitor-reaction features.

Cisco IOS IP SLAs uses active traffic monitoring for measuring network performance and can be configured to react to certain network conditions.
You can send an SNMP trap and reconfigure your voip clients (if supported) or you can change the configured codec on a dial-peer of your gateway (e.g. to G.711 to G.729).

Try to study this documentation: http://www.cisco.com/en/US/docs/ios/12_4/ip_sla/configuration/guide/hsthresh.html

Regards.

Dear Giono

It was very useful document.

Thanks for your all your help.

Best regards,