[OpenSIPS-Users] One way audio - media port changed (opensips / mediaproxy)
Saúl Ibarra Corretgé
saul at ag-projects.com
Thu Feb 4 13:40:22 CET 2010
Hi Magnus,
El 04/02/10 12:54, Magnus Burman escribió:
> Hmm, you are right, that wasn't the full syslog for that call.
> Investigating further I see that I get the following:
>
> Jan 11 22:28:07 sbc1 /usr/sbin/opensips[27792]:
> CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 2 for dlg
> 0x7f5e880692a0 [1305:480665684] with clid
> 'a27f94c890000e3e13c410b392b13d753bdb84e00e2147f91b8-0266-6714' and tags
> 'e-13c4-10b392b-75e19db4-10b392b' ''
>
> This is right after the call has been established; the next event in the
> sip trace is at 22:53:40, the re-invite.
>
> According to a year old post by Bogdan
> (http://www.mail-archive.com/users@lists.opensips.org/msg00700.html)
> this means that ACK is received before 200 OK.
>
> Here's the sip trace up to the point of the dialog error:
> 22:27:56.376925 Trunk -> Proxy : INVITE
> 22:27:56.381153 Proxy -> Trunk : 100 TRYING
> 22:27:56.381215 Proxy -> UA___ : INVITE
> 22:27:56.437339 UA___ -> Proxy : 100 TRYING
> 22:27:56.552454 UA___ -> Proxy : 180 RINGING
> 22:27:56.552530 Proxy -> Trunk : 180 RINGING
> 22:28:07.179499 UA___ -> Proxy : 200 OK
> 22:28:07.182204 Proxy -> Trunk : 200 OK
> 22:28:07.197002 Trunk -> Proxy : ACK
> 22:28:07.197158 Proxy -> UA___ : ACK
>
> Could this be the source of the problem?
>
Indeed. Whats happening is that the dialog state is 'broken' because
OpenSIPS received the ACK before actually processing the 200OK (the
200OK is processed *after* it's sent). If you use engage_media_proxy
function, MediaProxy will rely on the dialog state to internally call
use_media_proxy function, but when that error happens MediaProxy doesn't
act accordingly because the dialog state is broken.
So, I see 3 possible solutions:
1- Use the manual functions (use_media_proxy and end_media_session)
instead of engage_media_proxy.
2- Backport the dialog module fixes to your OpenSIPS version (revisions
5420 and 5422)
3- Upgrade OpenSIPS to a more recent version which includes the fix already.
Regards,
--
Saúl Ibarra Corretgé
AG Projects
More information about the Users
mailing list