Module: sems Branch: master Commit: 4c59623e14c2d6fea5955acc50c417d6bf3f1401 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=4c59623e14c2d6fea5955acc50c417d6bf3f1401
Author: Raphael Coeffic <[email protected]> Committer: Raphael Coeffic <[email protected]> Date: Fri Apr 20 12:05:09 2012 +0200 b/f: lookup payload ids transcoder codecs This fixes the payload ID for static payloads (<96). The SBC would have else generated dynamic payload IDs(>96). --- apps/sbc/SBCCallProfile.cpp | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/apps/sbc/SBCCallProfile.cpp b/apps/sbc/SBCCallProfile.cpp index dffb807..dd05873 100644 --- a/apps/sbc/SBCCallProfile.cpp +++ b/apps/sbc/SBCCallProfile.cpp @@ -792,10 +792,22 @@ static bool read(const std::string &src, vector<SdpPayload> &codecs) { vector<string> elems = explode(src, ","); + AmPlugIn* plugin = AmPlugIn::instance(); + for (vector<string>::iterator it=elems.begin(); it != elems.end(); ++it) { SdpPayload p; if (!readPayload(p, *it)) return false; - codecs.push_back(p); + int payload_id = plugin->getDynPayload(p.encoding_name, p.clock_rate, 0); + amci_payload_t* payload = plugin->payload(payload_id); + if(!payload) { + ERROR("Ignoring unknown payload found in call profile: %s/%i\n", + p.encoding_name.c_str(), p.clock_rate); + } + else { + p.int_pt = payload_id; + p.payload_type = payload->payload_id; + codecs.push_back(p); + } } return true; } _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
