[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