Antanas Masevicius wrote:
Hello,
i am using rtpproxy with openser to act as a RTP bridge to IP-SS7 gateway. IP-SS7 GW should not be exposed to external clients directly. Architecture diagram is like this: |UA1|--SIP/RTP---| |------------------| |-----------| | OpenSer+RTPProxy | --SIP/RTP-- | IP-SS7-GW |
          |------------------|             |-----------|
|UA2|--SIP/RTP---|
Problem is when i try to send fax RTP packets destined for UA2 from IP-SS7 GW are sent directly.
They should go through RTPProxy, otherwise media ports does not  match.
onreply route looks like:
onreply_route[1] {
    if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") {
         fix_nated_contact();
    }
    force_rtp_proxy();
}
each request is record_route()'ed before it is sent to be routed back through proxy.
I noticed that OpenSer removes top most via header in 200 OK  messages:

This is fine - when relaying a request each hop adds a Via header. When relaying responses, each hop removes the Via header which he added to the request.

200 OK message for re-Invite received by OpenSer: SIP/2.0 200 OK\r\n
    From: <sip:[EMAIL PROTECTED]>;tag=4fbb0552\r\n
    To: <sip:[EMAIL PROTECTED]>;tag=0-13c4-444c9fc6-f4eac-fdd\r\n
Call-ID: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    CSeq: 666497904 INVITE\r\n
    Via: SIP/2.0/UDP 84.32.0.18;branch=z9hG4bKf67f.2aeace41.0\r\n
    Via: SIP/2.0/UDP 84.32.0.7:5060;branch=z9hG4bK444cbbfca6214604dc9\r\n
    Supported: 100rel\r\n
    User-Agent: SIP-RG\r\n
    Contact: <sip:[EMAIL PROTECTED]>\r\n
    Content-Type: application/sdp\r\n
    Content-Length: 317\r\n
    \r\n
    v=0\r\n
    o=SIP-N-TA 0 0 IN IP4 84.32.134.143\r\n
    s=5420868F 0000 5420868F 0000 01 0\r\n
    c=IN IP4 84.32.134.143\r\n
    t=0 0\r\n
    m=image 4008 udptl t38\r\n
    c=IN IP4 84.32.134.143\r\n
    a=T38FaxVersion:0\r\n
    a=T38MaxBitRate:14400\r\n
    a=T38FaxFillBitRemoval:0\r\n
    a=T38FaxTranscodingMMR:0\r\n
    a=T38FaxTranscodingJBIG:0\r\n
    a=T38FaxRateManagement:transferredTCF\r\n
200 OK message sent to IP-SS7 GW by OpenSer: SIP/2.0 200 OK
From: <sip:[EMAIL PROTECTED]>;tag=4fbb0552
To: <sip:[EMAIL PROTECTED]>;tag=0-13c4-444c9fc6-f4eac-fdd
Call-ID: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
CSeq: 666497904 INVITE
Via: SIP/2.0/UDP 84.32.0.7:5060;branch=z9hG4bK444cbbfca6214604dc9
Supported: 100rel
User-Agent: SIP-RG
Contact: <sip:[EMAIL PROTECTED]>
Content-Type: application/sdp
Content-Length: 333
v=0
o=SIP-N-TA 0 0 IN IP4 84.32.134.143
s=5420868F 0000 5420868F 0000 01 0
c=IN IP4 84.32.134.143
t=0 0
m=image 39246 udptl t38
c=IN IP4 84.32.0.18
a=T38FaxVersion:0
a=T38MaxBitRate:14400
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=nortpproxy:yes
In this message there is no indication that is came from SIP proxy (no record-route, no via header), then IP-SS7 GW sends ACK message directly.

For in-dialog requests Record Route is not necessary, as the route set is constructed from the Record-Route headers in the initial INVITE. Even if there would be Record Route headers the clients must not use them. Maybe one of your clients is buggy and constructs the route set after each in-dialog request new.

This, i suppose, is normal thing, is it? Problem is that IP-SS7 also sends RTP traffic to UA2 directly. This probably happens because of two 'c=' fields in SDP.

Sounds obvious. AFAIK there was recently a patch on the mailinglist which added a feature to modify all c= lines.

regards
klaus

OpenSer changes only one in media part. Is there a way to change 'c=' field in SDP not only on media part?
Which should take precedence if both can't be changed?
regards, Antanas Masevicius

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

_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to