[commit] r4390 - freeswitch/trunk/src/mod/endpoints/mod_sofia
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@yahoo.com> * Ken Rice, Asteria Solutions Group, Inc <ken@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; } } }
participants (1)
-
Freeswitch SVN