Hello everyone, I have following scenario:
+----------+ | VPN | |+--------+| || MRCP || |+--------+| | || | |+--------+| +---------+ || Proxy ====| Solaris | |+--------+| +---------+ +----------+
I want both sip messages and rtp stream to go through proxy between mrcp servers and solaris box.
Currently I am transferring sip messages using call forwarding (avpops module) and trying to use rtpproxy for rtp stream forwarding. For rtpproxy to work I have set up NAT on proxy, but still have issues.
This is the invite packet sent from proxy to MRCP server:
INVITE sip:UAS@10.1.1.100:5060 SIP/2.0 Record-Route: sip:10.0.0.1;ftag=3d423348;lr=on <=## Via: SIP/2.0/UDP 10.0.0.1;branch=z9hG4bKe359.5e010b95.0 <=## Via: SIP/2.0/UDP 10.0.0.6:5070;branch=z9hG4bK-d8754z-5212be016a2d3c2a-1---d8754z-;rport=5070 Max-Forwards: 16 Contact: sip:sender@10.0.0.6:5070 To: sip:synthesizer@10.0.0.1:5060;transport=UDP <=## From: sip:sender@10.0.0.6:5070;tag=3d423348 Call-ID: MTZkYWE2MGYxNTgyNmY0YTRmNzkwNjAyNmU5OGQ0ZGU. CSeq: 1 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, NOTIFY Content-Type: application/sdp Content-Length: 282
v=0 o=- 1183369050 1183369050 IN IP4 10.0.0.6 s=- t=0 0 m=application 35050 TCP/MRCPv2 <=## c=IN IP4 10.0.0.1 <=## a=connection:new a=setup:active a=cmid:1 a=resource:speechsynth m=audio 53384 RTP/AVP 0 c=IN IP4 10.0.0.1 <=## a=mid:1 a=recvonly a=direction:active a=nortpproxy:yes
Lines with "<=##" are the lines with which I think I have problem. Because mrcp servers receive 'To' and 'Via' with address that is outside vpn, they cannot reply. As a result I send x times invite and end with 408 timeout. Also there is problem with line "m=application 35050 TCP/MRCPv2". rtpproxy changes that port, but according to mrcp specification I need it to be exactly 9. Even when changing PORT_MIN and PORT_MAX both to 9, I sometimes get port 10.
Could you please advice me what to do? Am I trying in right direction? Will I have to alter the sources to make it work like I need to?
Thanks for your answers Martin