Dear Daniel & Kamailio'ns
I am working on File transferring feature between two SIP clients
(IMSDroid). I have configured Kamailio (4.0.4) sever with RTPproxy to get
the through NAT traversal of audio/videov calls. so fro that i added a
script in kamailio.cfg as like below (Forced all INVITES through RTPproxy)
:
if (is_method("INVITE")) {
setflag(7); # Set the qos flag
#if (has_sdp()) {
if(has_body("application/sdp")) {
if (rtpproxy_offer())
t_on_reply("1");
} else {
t_on_reply("2");
}
}
#if (is_method("ACK") && has_sdp())
if (is_method("ACK") && has_body("application/sdp"))
rtpproxy_answer();
..
..
onreply_route[1] {
# if (has_sdp())
if(has_body("application/sdp"))
rtpproxy_answer();
}
onreply_route[2] {
# if (has_sdp())
if(has_body("application/sdp"))
rtpproxy_offer();
}
But now when i am trying for File transferring (As per RFC 4975, Session
mode IM) their INVITEs are also passing through RTPProxy service, which is
dropping MSRP contents and with that Files are not getting transferring
(But session is establishing between two clients).
And when i tried file transferring without running RTPPproxy service. files
are getting transferring. but that gives problems for audio/video calls.
So anybody please help me in how to make it work for both MSRP&RTP packets.
I mean how can i modify the script so that INVITE messges contains MSRP-RTP
contents can be descriminate in the script, and then they can execute their
respective blocks of scripts.
And please find the attachments of my Kamailio.cfg file and file transfer
traffic capture (tcpdump based) with RTPproxy instance running and without
running.
Any help will greatly appreciate.
Awaiting for somebody's help.
Regards
Ravi