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

Reply via email to