Transcoding

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Transcoding)
Line 16: Line 16:
 
|}
 
|}
  
The empty parameter above (between the two commas) controls which formats are  returned. Please see the comments in [[Regular_Expressions|regexroute.conf.sample]] for more info.
+
The empty parameter above (between the two commas) controls which formats are  returned. Please see the comments in [[Regular_expressions#The_regexroute_configuration_file|regexroute.conf.sample]] for more info.
  
 
If inbound formats='''alaw,mulaw''' you will get something like oformats='''alaw,mulaw,slin,gsm,ilbc,speex''' (assuming the modules are compiled and loaded). You can then use '''${oformats}''' in routing either in regexroute or in [[Register|register]] (database routing) to set the formats parameter:
 
If inbound formats='''alaw,mulaw''' you will get something like oformats='''alaw,mulaw,slin,gsm,ilbc,speex''' (assuming the modules are compiled and loaded). You can then use '''${oformats}''' in routing either in regexroute or in [[Register|register]] (database routing) to set the formats parameter:

Revision as of 15:01, 3 October 2012

Transcoding

Automatic transcoding is performed (if possible) when call legs are connected together. By default negotiation does not take into account possible transcodings since this is route dependent.

Transcoding can work only if RTP passes through Yate. When rtp_forward is enabled transcoding won't work and you must not add formats to the list - at most you can remove.

Currently there is one easy way to compute the list of possible transcoded formats. The regexroute module offers a transcode function to build an extended list. You should not use this list always, only when you are sure RTP is proxied through Yate.

You can put this line in regexroute.conf section [contexts] that handles call.preroute:

[contexts]
...
.*=;oformats=$(transcode,,${formats})

The empty parameter above (between the two commas) controls which formats are returned. Please see the comments in regexroute.conf.sample for more info.

If inbound formats=alaw,mulaw you will get something like oformats=alaw,mulaw,slin,gsm,ilbc,speex (assuming the modules are compiled and loaded). You can then use ${oformats} in routing either in regexroute or in register (database routing) to set the formats parameter:

[default]
...
; Offer transcoded formats on outbound unless rtp_forward is in use
${rtp_forward}^yes$^=;formats=${oformats}
Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers