Hi,

I'm having some trouble discovering the source and solution to one problem.

I setup a FS box for receiving faxes, and a already have another FS box as SBC.


SPA3102   ---> opensips ---> FS_SBC --> opensips --> FS_FAX
this works ok, call gets answered, i hear the fax tone, the SPA3102 changes to T38 and everyone is happy.


Nortel CS2000   ------> FS_SBC -------> opensips(regitrar,rtpproxy,etc) ---> FS_FAX
but his doen't.

This little devil CS2000 sends every invite with m=image header along with m=audio. With aparently FS doesn't like.


like that:

freeswitch@internal> recv 1215 bytes from udp/[10.143.82.250]:5060 at 08:26:08.226858:
   ------------------------------------------------------------------------
   INVITE sip:4730365302@10.143.82.253:5060;transport=UDP;user=phone SIP/2.0
   Record-Route: <sip:10.143.82.250;lr=on;ftag=-45026-10d9cdb-2668a317-10d9cdb>
   f: <sip:4784064435@10.150.65.16:5060;user=phone>;tag=-45026-10d9cdb-2668a317-10d9cdb
   t: <sip:4730365302@10.143.82.250:5060;user=phone>
   i: 416cf3e01041960a13c410d9cdb1d2cba42b82409c10f14bb8-0322-4481
   CSeq: 1 INVITE
   User-agent: CS2000_NGSS/9.0
   P-Asserted-Identity: <sip:4784064435@10.150.65.16;user=phone>
   Allow: ACK,BYE,CANCEL,INVITE,OPTIONS,INFO,SUBSCRIBE,REFER,NOTIFY,PRACK,UPDATE
   Via: SIP/2.0/UDP 10.143.82.250;branch=z9hG4bK1d78.5262ccd1.0
   v: SIP/2.0/UDP PAE1CS2K:5060;maddr=10.150.65.16;branch=z9hG4bK-10d9cdb-1d2cba43-57ebb21d
   Max-Forwards: 69
   m: <sip:10.150.65.16:5060;transport=UDP>
   k: 100rel
   c: application/sdp
   l: 420

   v=0
   o=PVG 1315110636830 1315110636830 IN IP4 10.152.204.202
   s=-
   p=+1 6135555555
   c=IN IP4 10.152.204.202
   t=0 0
   m=audio 55920 RTP/AVP 18 8 101
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-15
   a=ptime:20
   a=fmtp:18 annexb=no
   m=image 64112 udptl t38
   a=T38FaxVersion:0
   a=T38FaxMaxBuffer:1100
   a=T38FaxMaxDatagram:612
   a=T38MaxBitRate:14400
   a=T38FaxRateManagement:transferredTCF
   a=T38FaxUdpEC:t38UDPRedundancy

But then we have a problem ...




My beloved FS_SBC changes the SDP before sending it to the next hop .. as it should becase they are on diferent subnets and set to proxy_media

2011-09-04 01:26:08.231102 [DEBUG] sofia_glue.c:1759 sofia/tpa/4730365302 Patched SDP
---
v=0
o=PVG 1315110636830 1315110636830 IN IP4 10.152.204.202
s=-
p=+1 6135555555
c=IN IP4 10.152.204.202
t=0 0
m=audio 55920 RTP/AVP 18 8 101
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
m=image 64112 udptl t38
a=T38FaxVersion:0
a=T38FaxMaxBuffer:1100
a=T38FaxMaxDatagram:612
a=T38MaxBitRate:14400
a=T38FaxRateManagement:transferredTCF
a=T38FaxUdpEC:t38UDPRedundancy

+++
v=0
o=FreeSWITCH 2718891449 2718891450 IN IP4 A.B.C.D
s=FreeSWITCH
p=+1 6135555555
c=IN IP4 A.B.C.D
t=0 0
m=audio 19262 RTP/AVP 18 8 101
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
m=image 19262 udptl t38
a=T38FaxVersion:0
a=T38FaxMaxBuffer:1100
a=T38FaxMaxDatagram:612
a=T38MaxBitRate:14400
a=T38FaxRateManagement:transferredTCF
a=T38FaxUdpEC:t38UDPRedundancy


so we have now  2  m=   fields with the same port !!!!!

then when it gets answered on the FS_FAX box .. we got disconnection on the FS_SBC box


2011-09-04 01:26:08.257064 [DEBUG] sofia.c:4761 Channel sofia/tpa/4730365302 entering state [completing][200]
2011-09-04 01:26:08.257064 [DEBUG] sofia.c:4772 Remote SDP:
v=0
o=FreeSWITCH 1315079202 1315079203 IN IP4 189.45.192.19
s=FreeSWITCH
c=IN IP4 189.45.192.19
t=0 0
m=audio 31436 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
m=image 0 udptl 19

2011-09-04 01:26:08.258409 [DEBUG] sofia.c:4761 Channel sofia/tpa/4730365302 entering state [ready][200]
2011-09-04 01:26:08.258409 [DEBUG] switch_channel.c:2830 (sofia/tpa/4730365302) Callstate Change RINGING -> ACTIVE
2011-09-04 01:26:08.258409 [DEBUG] switch_channel.c:2842 Send signal sofia/voxip/4784064435@10.150.65.16:5060 [BREAK]
2011-09-04 01:26:08.258409 [NOTICE] sofia.c:5318 Channel [sofia/tpa/4730365302] has been answered
2011-09-04 01:26:08.258409 [DEBUG] sofia_glue.c:2774 Set Codec sofia/tpa/4730365302 PROXY/8000 20 ms 160 samples 0 bits
2011-09-04 01:26:08.258409 [DEBUG] sofia_glue.c:3079 PROXY AUDIO RTP [sofia/tpa/4730365302] A.B.C.D:19262->W.X.Y.Z:0 codec: 0 ms: 20
2011-09-04 01:26:08.258409 [ERR] sofia_glue.c:3512 AUDIO RTP REPORTS ERROR: [Missing remote port]
2011-09-04 01:26:08.258409 [DEBUG] switch_channel.c:2563 (sofia/tpa/4730365302) Callstate Change ACTIVE -> HANGUP
2011-09-04 01:26:08.258409 [NOTICE] sofia_glue.c:3513 Hangup sofia/tpa/4730365302 [CS_CONSUME_MEDIA] [DESTINATION_OUT_OF_ORDER]
2011-09-04 01:26:08.258409 [DEBUG] switch_channel.c:2579 Send signal sofia/tpa/4730365302 [KILL]
2011-09-04 01:26:08.258409 [DEBUG] switch_core_session.c:1116 Send signal sofia/tpa/4730365302 [BREAK]
2011-09-04 01:26:08.259605 [DEBUG] switch_ivr_originate.c:3299 Originate Resulted in Error Cause: 27 [DESTINATION_OUT_OF_ORDER]
2011-09-04 01:26:08.259605 [INFO] mod_dptools.c:2647 Originate Failed.  Cause: DESTINATION_OUT_OF_ORDER


port = 0 !!!

is that maybe a fault in opensips in the middle because the both m= fields with the same port ? , or one of the FS boxes ?
something is broken here, sadly :(

Appreciate any help.

Allan