Forced transcoding possible?

I want to use Asterisk to enable COTS SIP phones communicate over a narrow bandwidth channel. I imagine a setup somewhat like this, where Asterisk is used to transcode the audio stream to use LPC10 or MELP over the network, but the SIP phones use plain G.711.

+--------+
|SIP UA 1|
+--------+
    |
[G.711]
    |
+----------+
|Asterisk 1|
+----------+
    |
[LPC10 or MELP]
    |
+------------------------+
|Narrow Bandwidth Channel|
+------------------------+
    |
[LPC10 or MELP]
    |
+----------+
|Asterisk 2|
+----------+
    |
[G.711]
    |
+--------+
|SIP UA 2|
+--------+

Can Asterisk be used for this?

Howdy,

Yes, Asterisk can be used in a scenario like:

SIP ATA using G.711 codec >> Asterisk >> SIP / IAX or other protocol using a codec that Asterisk can translate (which includes LPC10).

What Asterisk is talking to will need to be using LPC10 also, though.

There aren’t many devices or systems that implement LPC10, so your other end will likely be Asterisk as well.

Thus your whole scenario might look like:

SIP ATA using G.711 codec >> 1st Asterisk >> SIP / IAX connection using LPC10 codec >> 2nd Asterisk >> SIP ATA using G.711 codec.

Cheers.

Yes, that is exactly the chain I described. Excellent!

Is there any documentation on how to set this up? I have some experience of extensions.conf and sip.conf, but don’t quite see how I should configure things for this kind of setup.

Howdy,

When you build your sip.conf entry for the UA, set:
disallow=all
allow=ualw

When you build your entry for the link between the two Asterisk servers, make sure and set:
disallow=all
allow=lpc10

Then, the entry for the UA talking to the second Asterisk also has:
disallow=all
allow=ulaw

For specifics about what the rest of the entries should look like, and how to dial between Asterisk servers, try:

astbook.asteriskdocs.org/

OK, thanks for your input.