[OpenSER-Devel] [ openser-Bugs-1913713 ] 2nd use_media_proxy: bad media ip-address and port

SourceForge.net noreply at sourceforge.net
Fri Mar 14 18:54:28 CET 2008


Bugs item #1913713, was opened at 2008-03-13 10:25
Message generated for change (Comment added) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1913713&group_id=139143

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.3.x
Status: Closed
Resolution: Invalid
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Dan (dan_pascu)
Summary: 2nd use_media_proxy: bad media ip-address and port

Initial Comment:
If the function use_media_proxy is called the second time for one INVITE the result is bad media ip-address and port in SDP because of the media ip-address is <old addr><new addr> and port is <old port><new port>.

For example:

After the first call:
c=IN IP4 193.243.132.19.
m=audio 60010 RTP/AVP 18 3 111 98 0 8.

After the second call:
c=IN IP4 193.243.132.19193.243.132.19.
m=audio 6001460016 RTP/AVP 18 3 111 98 0 8.

The scenario is:
If caller is behind NAT then use_media_proxy().
If called id busy 
    then end_media_session()
    then append_branch()
    then use_media_proxy()
    then forward to Voicemail (SEMS)


----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-03-14 10:54

Message:
Logged In: NO 

1. it's not a mediaproxy limitation, it's a limitation with lump
processing in the core.
2. it's easier not to call use_media_proxy at all, that to call it and
then expect to call end_media_session to revert the changes.
2a. even if it would want to do so, there is no simple way to remove a
lump that was already pushed into the core for processing. if it would be,
then a second use_media_proxy could have easily reverted the previous
change, don't you think?
3. feel free to send a patch. your contribution will be appreciated.


----------------------------------------------------------------------

Comment By: Alex Gradinar (alexgradinar)
Date: 2008-03-14 04:15

Message:
Logged In: YES 
user_id=2035545
Originator: NO

1. If there are any limitations in calling use_media_proxy then it's
necessary to notice in the documentation.
2. I think end_media_session() should revert all changes made by
use_media_proxy() to resolve this problem.


----------------------------------------------------------------------

Comment By: Dan (dan_pascu)
Date: 2008-03-13 11:05

Message:
Logged In: YES 
user_id=1296758
Originator: NO

You cannot call use_media_proxy twice in a single pass of the main route
because of limitations in adding/deleting lumps to/from the message.
This is true not only for use_media_proxy, but for any other function that
modifies the same region of the message twice, including nathelper, textops
functions and any function that alters the SIP/SDP bodies.

You have to make sure you only call use_media_proxy once before the call
is about to be sent out, and in the case of failure, after you add a new
branch you have to forward the message to the proxy to be processed as a
new request which will allow you to call use_media_proxy again on the
forwarded message.


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1913713&group_id=139143



More information about the Devel mailing list