summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2009-08-17 18:55:13 +0000
committerBenny Prijono <bennylp@teluu.com>2009-08-17 18:55:13 +0000
commitf9703f599e48e98dc7863ab07cea859837ddc403 (patch)
treebbcef5fe69b30f2469335eaca5a3d217de12b4b5
parent512587499792dd6ed868bfc0005716baf367ec79 (diff)
More ticket #833:
- special treatment in ICE media transport, since Session Timer refresh when sending re-INVITE doesn't call transport_encode_sdp(), causing the ICE media transport to mistakenly think that it's role is UAS hence it will disable current ICE session git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2896 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia/transport_ice.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/pjmedia/src/pjmedia/transport_ice.c b/pjmedia/src/pjmedia/transport_ice.c
index 77a2e346..7c36787c 100644
--- a/pjmedia/src/pjmedia/transport_ice.c
+++ b/pjmedia/src/pjmedia/transport_ice.c
@@ -1273,6 +1273,14 @@ static pj_status_t transport_media_start(pjmedia_transport *tp,
return PJ_SUCCESS;
}
+ /* Special case for Session Timer. The re-INVITE for session refresh
+ * doesn't call transport_encode_sdp(), causing current_oa_role to
+ * be set to ROLE_NONE. This is a workaround.
+ */
+ if (current_oa_role == ROLE_NONE) {
+ current_oa_role = ROLE_OFFERER;
+ }
+
/* Processing depends on the offer/answer role */
if (current_oa_role == ROLE_OFFERER) {
/*