Here's an example of the same UA sending to 2 different UA's. The first example works.
The 2nd example, there is a 'rxmit_packets' line and the media port does not change correctly to 49152 :( Jul 14 16:22:42 INFO:handle_command: new session 6e0023a4-f1b3-409f-bd51-2c45ab72f...@192.168.0.15, tag IPF_PORT_0001_1091;1 requested, type strong Jul 14 16:22:42 INFO:handle_command: new session on a port 19288 created, tag IPF_PORT_0001_1091;1 Jul 14 16:22:42 INFO:handle_command: pre-filling caller's address with 8.8.8.15:49200 Jul 14 16:22:42 INFO:handle_command: lookup on ports 19288/13186, session timer restarted Jul 14 16:22:42 INFO:handle_command: pre-filling callee's address with 9.9.9.61:14140 Jul 14 16:22:47 INFO:handle_command: adding strong flag to existing session, new=1/0/0 Jul 14 16:22:47 INFO:handle_command: lookup on ports 19288/13186, session timer restarted Jul 14 16:22:47 INFO:handle_command: pre-filling callee's address with 9.9.9.61:14142 Jul 14 16:22:47 INFO:handle_command: lookup on ports 19288/13186, session timer restarted Jul 14 16:22:47 INFO:handle_command: pre-filling caller's address with 8.8.8.15:49152 ---- Jul 14 16:23:58 INFO:handle_command: new session c302e635-be7b-4e96-be0c-f69eb9eb5...@192.168.0.15, tag IPF_PORT_0001_1093;1 requested, type strong Jul 14 16:23:58 INFO:handle_command: new session on a port 11556 created, tag IPF_PORT_0001_1093;1 Jul 14 16:23:58 INFO:handle_command: pre-filling caller's address with 8.8.8.15:49200 Jul 14 16:24:05 INFO:handle_command: lookup on ports 11556/13594, session timer restarted Jul 14 16:24:05 INFO:handle_command: pre-filling callee's address with 8.8.8.123:16456 Jul 14 16:24:07 INFO:handle_command: adding strong flag to existing session, new=1/0/0 Jul 14 16:24:07 INFO:handle_command: lookup on ports 11556/13594, session timer restarted Jul 14 16:24:07 INFO:handle_command: lookup on ports 11556/13594, session timer restarted Jul 14 16:24:07 INFO:handle_command: pre-filling caller's address with 8.8.8.15:49152 Jul 14 16:24:07 INFO:rxmit_packets: caller's address filled in: 8.8.8.15:49200 (RTP) On Wed, Jul 14, 2010 at 4:20 PM, Julian Yap <julianok...@gmail.com> wrote: > I thought I had things working... But it's really inconsistent :( > > Yeah, I am having way too many issues with RTPProxy and the re-invite > port changing. It's an absolute nightmare. Everything works fine > when the UA doesn't change media port but when it does, it's really > inconsistent. When the port changes force_rtpproxy() is invoked but > sometimes it works, sometimes it doesn't work. > > I think I'm going to try out MediaProxy. > > - Julian > > On Tue, Jul 6, 2010 at 2:00 AM, Klaus Darilion > <klaus.mailingli...@pernau.at> wrote: >> Flags are only needed in special cases. Just make sure that you call >> force_rtpproxy() during processing of the reINVITE, and the 200 OK response >> to the reINVITE. >> >> just watch the logfile if the reINVITE also triggers rtpproxy. >> >> >> regards >> klaus >> >> Am 06.07.2010 12:16, schrieb Julian Yap: >>> >>> Klaus, >>> >>> You mean I need to call force_rtpproxy() twice? >>> >>> Sorry, I'm full of questions: >>> - Should I be using any flags with force_rtp_proxy()? >>> - Should I be calling unforce_rtp_proxy() to tear down the initial G711 >>> media? >>> - Should I be using rtpproxy_offer() and rtpproxy_answer()? >>> >>> Here is my onreply_route. Does it look right?: >>> onreply_route[2] >>> { >>> if(nat_uac_test("1")) >>> { >>> fix_nated_contact(); >>> } >>> if(isbflagset(6)&& status=~"(180)|(183)|2[0-9][0-9]") >>> { >>> if(search("Content-Type: application/sdp")) >>> { >>> force_rtp_proxy(); >>> } >>> } >>> exit; >>> } >>> >>> Here is the initial INVITE that is processed properly: >>> INVITE sip:18085551...@8.8.178.41 SIP/2.0. >>> Via: SIP/2.0/UDP 192.168.0.15:5060;branch=z9hG4bK103B. >>> From: IPFax<sip:8085551...@192.168.0.15>;tag=IPF_PORT_0001_103A. >>> To:<sip:18085551...@8.8.178.41>. >>> Call-ID: f17e4c86-448f-4bb4-81b8-e06ce3c15...@192.168.0.15. >>> CSeq: 1 INVITE. >>> Max-Forwards: 70. >>> Contact:<sip:8085551...@192.168.0.15:5060>. >>> User-Agent: My IP_FAX-8.6.5233.924. >>> Allow: INVITE, ACK, BYE, CANCEL, REFER, NOTIFY. >>> Content-Type: application/sdp. >>> Content-Length: 164. >>> . >>> v=0. >>> o=IPFax 0 0 IN IP4 192.168.0.15. >>> s=SIP Fax Call. >>> i=IPFax. >>> c=IN IP4 192.168.0.15. >>> t=0 0. >>> m=audio 49200 RTP/AVP 0. >>> a=rtpmap:0 PCMU/8000. >>> a=ptime:20. >>> a=sendrecv. >>> >>> G711 is then established. >>> >>> T38 GW then sends the T38 INVITE: >>> INVITE sip:8085551...@8.7.230.15:5060 SIP/2.0. >>> Via: SIP/2.0/UDP 8.8.178.61;branch=z9hG4bKac315679218. >>> Max-Forwards: 70. >>> From:<sip:18085551...@8.8.178.41>;tag=1c215847348. >>> To: IPFax<sip:8085551...@192.168.0.15>;tag=IPF_PORT_0001_103A. >>> Call-ID: f17e4c86-448f-4bb4-81b8-e06ce3c15...@192.168.0.15. >>> CSeq: 1 INVITE. >>> Contact:<sip:1...@8.8.178.61>. >>> Route:<sip:8.8.178.41;lr=on;ftag=IPF_PORT_0001_103A;nat=yes>. >>> Supported: em,timer,replaces,path,early-session,resource-priority. >>> Allow: >>> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE. >>> User-Agent: acm2k/v.5.60A.009.005. >>> Content-Type: application/sdp. >>> Content-Length: 294. >>> . >>> v=0. >>> o=AC_GW 215939645 215939274 IN IP4 8.8.178.61. >>> s=Phone-Call. >>> c=IN IP4 8.8.178.61. >>> t=0 0. >>> m=image 14002 udptl t38. >>> a=T38FaxVersion:0. >>> a=T38MaxBitRate:14400. >>> a=T38FaxMaxBuffer:1024. >>> a=T38FaxMaxDatagram:122. >>> a=T38FaxRateManagement:transferredTCF. >>> a=T38FaxUdpEC:t38UDPRedundancy. >>> >>> Here is the 200 OK from the UA with the different port: >>> SIP/2.0 200 OK. >>> Via: SIP/2.0/UDP 8.8.178.41;branch=z9hG4bK8e34.13ed1496.0. >>> Via: SIP/2.0/UDP >>> 8.8.178.61;rport=5060;received=8.8.178.61;branch=z9hG4bKac315679218. >>> Record-Route:<sip:8.8.178.41;lr=on;ftag=IPF_PORT_0001_103A;nat=yes>. >>> From:<sip:18085551...@8.8.178.41>;tag=1c215847348. >>> To: IPFax<sip:8085551...@192.168.0.15>;tag=IPF_PORT_0001_103A. >>> Call-ID: f17e4c86-448f-4bb4-81b8-e06ce3c15...@192.168.0.15. >>> CSeq: 1 INVITE. >>> Contact:<sip:8085551...@192.168.0.15:5060>. >>> User-Agent: My IP_FAX-8.6.5233.924. >>> Content-Type: application/sdp. >>> Content-Length: 357. >>> . >>> v=0. >>> o=IPFax 0 1 IN IP4 192.168.0.15. >>> s=SIP Fax Call. >>> i=IPFax. >>> c=IN IP4 192.168.0.15. >>> t=0 0. >>> m=image 49152 udptl t38. >>> a=T38FaxVersion:0. >>> a=T38MaxBitRate:14400. >>> a=T38FaxRateManagement:transferredTCF. >>> a=T38FaxMaxBuffer:200. >>> a=T38FaxMaxDatagram:72. >>> a=T38FaxFillBitRemoval:0. >>> a=T38FaxTranscodingMMR:0. >>> a=T38FaxTranscodingJBIG:0. >>> a=T38FaxUdpEC:t38UDPRedundancy. >>> >>> >>> - Julian >>> >>> On Sun, Jul 4, 2010 at 11:29 PM, Klaus Darilion >>> <klaus.mailingli...@pernau.at> wrote: >>>> >>>> Are you sure you are calling force_rtpproxy() also in reINVITE and >>>> correspondig 200 OK. >>>> >>>> regards >>>> Klaus >>>> >>>> Am 03.07.2010 09:46, schrieb Julian Yap: >>>>> >>>>> Hi all, >>>>> >>>>> Any help greatly appreciated! >>>>> >>>>> I'm having problems with a T38 UA which changes port when negotiating >>>>> T38 media. All the other UA's I've encountered thus far use the same >>>>> RTP port throughout. >>>>> >>>>> I'm also using RTPProxy invoked by OpenSIPS. >>>>> >>>>> In the final 200 OK SDP, the UA changes media port from 49200 to 49152 >>>>> but this changeover isn't detected and the media is sent back to port >>>>> 49200 so the call then fails to negotiate T38 properly. Not sure how >>>>> to log the port changes to further debug this issue as well. >>>>> >>>>> Here is the flow: >>>>> | UA | OpenSIPS | T38 GW | >>>>> | INVITE SDP ( g711U) | | >>>>> |(5060) ------------------> (5060) | | >>>>> | 100 Trying| | | >>>>> |(5060)<------------------ (5060) | | >>>>> | | INVITE SDP ( g711U) | >>>>> | |(5060) ------------------> (5060) | >>>>> | | 100 Trying| | >>>>> | |(5060)<------------------ (5060) | >>>>> | | 180 Ringing SDP ( g711U) | >>>>> | |(5060)<------------------ (5060) | >>>>> | | 200 OK SDP ( g711U) | >>>>> | |(5060)<------------------ (5060) | >>>>> | | RTP (g711U) | >>>>> | |(11392)<------------------ (14110) | >>>>> | RTP (g711U) | | >>>>> |(49200)<------------------ (10878) | | >>>>> | 180 Ringing SDP ( g711U) | | >>>>> |(5060)<------------------ (5060) | | >>>>> | RTP (g711U) | | >>>>> |(49200) ------------------> (10878) | | >>>>> | | RTP (g711U) | >>>>> | |(11392) ------------------> (14110) | >>>>> | 200 OK SDP ( g711U) | | >>>>> |(5060)<------------------ (5060) | | >>>>> | ACK | | | >>>>> |(5060) ------------------> (5060) | | >>>>> | RTP (g711U) | | >>>>> |(49200) ------------------> (10878) | | >>>>> | RTP (g711U) | | >>>>> |(49200)<------------------ (10878) | | >>>>> | | 200 OK SDP ( g711U) | >>>>> | |(5060)<------------------ (5060) | >>>>> | | RTP (g711U) | >>>>> | |(11392) ------------------> (14110) | >>>>> | | ACK | | >>>>> | |(5060) ------------------> (5060) | >>>>> | 200 OK SDP ( g711U) | | >>>>> |(5060)<------------------ (5060) | | >>>>> | ACK | | | >>>>> |(5060) ------------------> (5060) | | >>>>> | RTP (g711U) | | >>>>> |(49200) ------------------> (10878) | | >>>>> | RTP (g711U) | | >>>>> |(49200)<------------------ (10878) | | >>>>> | | ACK | | >>>>> | |(5060) ------------------> (5060) | >>>>> | | INVITE SDP ( t38) | >>>>> | |(5060)<------------------ (5060) | >>>>> | INVITE SDP ( t38) | | >>>>> |(5060)<------------------ (5060) | | >>>>> | 200 OK SDP ( t38) | | >>>>> |(5060) ------------------> (5060) | | >>>>> >>>>> This is where it sends the 200 OK with a different media port. >>>>> >>>>> - Julian >>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> Users@rtpproxy.org >>>>> http://lists.rtpproxy.org/mailman/listinfo/users >>>> >> > _______________________________________________ Users mailing list Users@rtpproxy.org http://lists.rtpproxy.org/mailman/listinfo/users