Module: sems Branch: master Commit: 4f6c0cc55db1fd732aa04e5e0ac2f969bdff58bd URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=4f6c0cc55db1fd732aa04e5e0ac2f969bdff58bd
Author: Václav Kubart <[email protected]> Committer: Václav Kubart <[email protected]> Date: Tue Jun 12 08:21:38 2012 +0200 transcoding: two categories of transcoder codecs introduced Using new parameter prefer_transcoding_for_codecs (resp. prefer_transcoding_for_codecs_aleg) transcoder codecs are split into two categories. "Lower priority" codecs - those which are in prefer_transcoding_for_codecs are preferably transcoded into payloads from the rest of transcoder codecs ("higher priority codecs"). If there are only codecs listed in prefer_transcoding_for_codecs supported by the remote party these codecs are marked for relay as well. Example: transcoder_codecs=g726-16,speex/8000,PCMA,PCMU,gsm prefer_transcoding_for_codecs=pcma,pcmu prefer_transcoding_for_codecs_aleg=pcma,pcmu In this case if clients support one of g726-16, speex, gsm then PCMU and PCMA should be transcoded into g726-16/speex/gsm instead of direct relaying though the other party supports PCMU/PCMA directly. If clients support only PCMU/PCMA then PCMU and PCMA will be relayed. Warning: SEMS switches to codec used by client so the transcoder codec from "higher priority codecs" won't be used if the client doesn't want to use it! For example the client can support speex,PCMA,PCMU but chooses to send in PCMU and though we mark PCMU as "lower priority codec" (via prefer_transcoding_for_codecs/prefer_transcoding_for_codecs_aleg) and thus disallowed direct relaying of it we will use it with communication with client. So situations like transcoding from PCMU to PCMU can occur. Note that prefer_transcoding_for_codecs/prefer_transcoding_for_codecs_aleg should contain only codecs from set of transcoder_codecs. --- apps/sbc/SBC.cpp | 85 +++++++++++++++++++++++++++++++++++++++++++ apps/sbc/SBC.h | 2 + apps/sbc/SBCCallProfile.cpp | 8 ++++ apps/sbc/SBCCallProfile.h | 5 ++- core/AmB2BMedia.cpp | 60 +++++++++++++++++++++--------- core/AmB2BMedia.h | 15 ++++++-- core/AmB2BSession.cpp | 15 +++++--- core/AmB2BSession.h | 4 ++ 8 files changed, 166 insertions(+), 28 deletions(-) Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commitdiff;h=4f6c0cc55db1fd732aa04e5e0ac2f969bdff58bd _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
