#449 OpenSIPS send wrong RTP address to rtpproxy

1.7.x
closed-invalid
core (110)
5
2012-02-22
2011-11-25
Sergey Lavrov
No

Dear All!

OS: Scientific Linux 6.1 x86_64
OpenSIPS: 1.7.1 revision 8587

Schema:
UAC1 <--> P1+rtpproxy (opensips) <--> P2 (cgp) <--> UAC2

I have strange problem with OpenSIPS (P1) when it send wrong IP address (IP address of P2 instead of IP address in SDP) to rtpproxy.
IP address In SDP is 46.4.54.14, but OpenSIPS send command to rtpproxy with IP address of P2.

rtpproxy commands:
DBUG:handle_command: received command "590_57671 UR212.53.40.40c8,18,96 M2Y4ZTRmNmFlNDdkODZkZGJjMDg1MmFmMTE0ZjMzYWU. 192.168.8.29 25706 feb01f27;1"
INFO:handle_command: new session M2Y4ZTRmNmFlNDdkODZkZGJjMDg1MmFmMTE0ZjMzYWU., tag feb01f27;1 requested, type strong
INFO:handle_command: new session on a port 7266 created, tag feb01f27;1
INFO:handle_command: pre-filling caller's address with 192.168.8.29:25706
DBUG:doreply: sending reply "590_57671 7266 x.x.x.x

DBUG:handle_command: received command "591_34111 LR192.168.8.29c8,96 M2Y4ZTRmNmFlNDdkODZkZGJjMDg1MmFmMTE0ZjMzYWU. 212.53.40.40 18276 feb01f27;1 as403e1364;1"
INFO:handle_command: lookup on ports 7266/30052, session timer restarted
INFO:handle_command: pre-filling callee's address with 212.53.40.40:18276
DBUG:doreply: sending reply "591_34111 30052 192.168.30.4

DBUG:handle_command: received command "588_56770 UR212.53.40.40c8,96 M2Y4ZTRmNmFlNDdkODZkZGJjMDg1MmFmMTE0ZjMzYWU. 192.168.8.29 25706 feb01f27;1 as403e1364;1"
INFO:handle_command: adding strong flag to existing session, new=1/0/0
INFO:handle_command: lookup on ports 7266/30052, session timer restarted
DBUG:doreply: sending reply "588_56770 7266 x.x.x.x

DBUG:handle_command: received command "593_34122 D M2Y4ZTRmNmFlNDdkODZkZGJjMDg1MmFmMTE0ZjMzYWU. feb01f27 as403e1364"
INFO:handle_delete: forcefully deleting session 1 on ports 7266/30052
INFO:remove_session: RTP stats: 0 in from callee, 25 in from caller, 25 relayed, 0 dropped
INFO:remove_session: RTCP stats: 0 in from callee, 0 in from caller, 0 relayed, 0 dropped
INFO:remove_session: session on ports 7266/30052 is cleaned up
DBUG:doreply: sending reply "593_34122 0

OK SIP packet from P2:
Nov 25 12:01:25 /usr/sbin/opensips[591]: [OR01] Response from (212.53.40.40:5060):
SIP/2.0 200 OK
Via: SIP/2.0/UDP x.x.x.x;branch=z9hG4bK058f.81418285.0
Via: SIP/2.0/UDP 192.168.8.29:5066;received=192.168.8.29;branch=z9hG4bK-d8754z-b609fe23f559cb26-1---d8754z-;rport=5066
Record-Route: <sip:4265373-192.168.40.77.dialog.cgatepro;lr>
Record-Route: <sip:192.168.40.77:5060;lr>
Record-Route: <sip:212.53.40.40:5060;lr>
Record-Route: <sip:0036954910@x.x.x.x;r2=on;lr;ftag=feb01f27;nat=yes;did=918.5d4c2972>,<sip:0036954910@192.168.30.3;r2=on;lr;ftag=feb01f27;nat=yes;did=918.5d4c2972>
From: "79262404671" <sip:79262404671@x.x.x.x:5066>;tag=feb01f27
To: <sip:0036954910@sipnet.ru>;tag=as403e1364
Call-ID: M2Y4ZTRmNmFlNDdkODZkZGJjMDg1MmFmMTE0ZjMzYWU.
CSeq: 1 INVITE
Contact: <sip:0036954910@46.4.54.14>
Supported: replaces,timer
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO
User-Agent: Asterisk PBX 1.6.0.26-FONCORE-r78
Content-Type: application/sdp
Content-Length: 290

v=0
o=root 1482745248 1482745248 IN IP4 46.4.54.14
s=Asterisk PBX 1.6.0.26-FONCORE-r78
c=IN IP4 46.4.54.14
t=0 0
m=audio 18276 RTP/AVP 8 96
c=IN IP4 46.4.54.14
a=rtpmap:8 PCMA/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=sendrecv
a=ptime:20
a=silenceSupp:off - - - -

If it needed I can send full trace (SIP+RTP) to email.

Discussion

    • assigned_to: nobody --> razvancrainea
     
  • Razvan Crainea
    Razvan Crainea
    2012-02-22

    Hi, Sergey!

    The IP that OpenSIPS sends to RTPProxy is exactly the source IP of the message. If you want to mark the IP in the SDP body as trusted, you will have to pass the 'r' flag to the rtpproxy_offer/answer functions.

    Regards,
    Răzvan

     
  • Razvan Crainea
    Razvan Crainea
    2012-02-22

    • status: open --> closed-invalid