diff options
author | Benny Prijono <bennylp@teluu.com> | 2009-08-17 18:55:13 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2009-08-17 18:55:13 +0000 |
commit | f9703f599e48e98dc7863ab07cea859837ddc403 (patch) | |
tree | bbcef5fe69b30f2469335eaca5a3d217de12b4b5 | |
parent | 512587499792dd6ed868bfc0005716baf367ec79 (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.c | 8 |
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) { /* |