A quick introduction to what I'm trying to do:
I have two SIP profiles, "internal" (port 5060) and "offpremise"
(port 5070). Both of these profiles are recording registrations to
the same registration db, so they can be reached by user/nnn. When a
device leaves the local LAN and heads out into the field, firewall
port translation maps port 5060 to 5070, so FS "knows" the extension
is now off-premise.
All profiles on the box are set to inbound-late-negotiation and
inherit-codec, to reduce transcoding.
What I would like to do is set a very restrictive list of codecs on
the "offpremise" profile, so that an exension registered to
"offpremise" only sees a set of low-bandwidth codecs. To facilitate
this, I have set outbound-codec-prefs on the profile.
After much testing, I have determined that "outbound-codec-prefs" in
this configuration ends up ADDING codecs to the offer, and will not
remove any codecs offered by the A-leg. Interestingly,
inbound-codec-prefs seems to remove codec from the A-leg offer.
So, my question: is there any way of restricting the list of codecs
offered on the B-leg using the profile configuration (and not from
within the dialplan)? If there is any answer at all, I'd suspect
it's one of the following:
- a global setting that changes the behavior of
outbound-codec-prefs to be restrictive, instead of additive (the
source doesn't seem to suggest this)
- a way to set absolute_codec_string (or other variables) from
within the profile itself
- a way to set a variable (again, likely absolute_code_string)
to the registration instance so the codec list can be explicitly
specified
- any other far-out ideas for accomplishing this kind of
seamless "roaming"
Any ideas or hints greatly appreciated.