[Freeswitch-svn] [commit] r4390 - freeswitch/trunk/src/mod/endpoints/mod_sofia
Freeswitch SVN
mikej at freeswitch.org
Sun Feb 25 16:00:26 EST 2007
Author: mikej
Date: Sun Feb 25 16:00:26 2007
New Revision: 4390
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
Log:
Detect proper telephone-event id to use. fix to http://jira.freeswitch.org/browse/MODENDP-4 . using pt.diff.
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Sun Feb 25 16:00:26 2007
@@ -26,6 +26,7 @@
* Anthony Minessale II <anthmct at yahoo.com>
* Ken Rice, Asteria Solutions Group, Inc <ken at asteriasgi.com>
* Paul D. Tinsley <pdt at jackhammer.org>
+ * Bret McDanel <trixter AT 0xdecafbad.com>
*
*
* mod_sofia.c -- SOFIA SIP Endpoint
@@ -2334,6 +2335,7 @@
static uint8_t negotiate_sdp(switch_core_session_t *session, sdp_session_t *sdp)
{
uint8_t match = 0;
+ switch_payload_t te = 0;
private_object_t *tech_pvt;
sdp_media_t *m;
sdp_attribute_t *a;
@@ -2390,8 +2392,15 @@
int32_t i;
const switch_codec_implementation_t *mimp = NULL, *near_match = NULL;
- if (!strcasecmp(map->rm_encoding, "telephone-event")) {
- tech_pvt->te = (switch_payload_t)map->rm_pt;
+ if (!te && !strcasecmp(map->rm_encoding, "telephone-event")) {
+ te = tech_pvt->te = (switch_payload_t)map->rm_pt;
+ }
+
+ if (match) {
+ if (te) {
+ break;
+ }
+ continue;
}
for (i = 0; i < tech_pvt->num_codecs; i++) {
@@ -2464,7 +2473,6 @@
if (tech_set_codec(tech_pvt, 1) != SWITCH_STATUS_SUCCESS) {
match = 0;
}
- break;
}
}
}
More information about the Freeswitch-svn
mailing list