Hi Serhat,

If you take a look of SDP body of your INVITES you will note that you are offering SRTP. 

What you should do from my point of view is detect when an INVITE from the sipml5 softphone goes to the ims-softphone or other end-point which you are aware doesn't support SRTP and use the RTPEngine module (combination of rtpengine_offer and rtpengine_answer functions).

When INVITE (sipml5 -> Kamailio -> endPoint with out SRTP) you should perform something like this:

rtpengine_offer("trust-address replace-origin replace-session-connection ICE=remove RTP/AVP");
t_on_reply("3");

Then for replies you will need something like the route:

onreply_route[3] {

        if (t_check_status("183")) {
                change_reply_status("180", "Ringing");
                remove_body();
                exit;
        }

        if(!(status=~"[12][0-9][0-9]") || !(sdp_content()))
                return;
        rtpengine_answer("trust-address replace-origin replace-session-connection ICE=force");

        route(NATMANAGE);
}

Or other approcah if offer SRTP and when the other ends answer with a 488 Not Supported Here do the same. 

It is one way of bridging SRTP->RTP with the RTPEngine module.

Regards,


On Tue, Nov 1, 2016 at 2:48 PM, Serhat Guler <srtguler@gmail.com> wrote:
Hi Alberto,

Thanks for looking into this. In the expert settings of sipml5 it says that disabling RTCWeb Breaker should make it compatible with softphones which are not implementing SRTP, that's how I have been testing it though. May I ask what attribute you looked at to get to the conclusion you have ? Thanks.

Serhat

On 1 November 2016 at 13:39, Alberto Llamas <albertollamaso@gmail.com> wrote:
Hello Serhat,

When you are using the webphone (sipml5) by WebRTC the media is secured with SRTP. So if the other end-point supports SRTP usually you don't have major issues. It is like when you communicate between two sipml5 web phones A and B.

But when you are trying to communicate to the IMS softphone, be sure that the softphone supports SRTP otherwise you will need to configure a RTP Proxy like RTPEngine in kamailio module in order to "translate" between plain RTP and SRTP.

This is what I see is your issue based on the pcap files.

PS: You can have a setup in your kamailio config file to offer first SRTP and if the other end-point doesn't support it (when you receive a 4XX reply) then send a Re-INVITE with plain RTP.

Regards,

On Tue, Nov 1, 2016 at 12:45 PM, Serhat Guler <srtguler@gmail.com> wrote:
Hi Daniel, hi Alberto,

Thanks for your prompt replies. I have put 2 pcap files in dropbox ( https://www.dropbox.com/sh/fzclmbpniebrvx1/AAAOOv4h2ci7bJuuJvSbs3poa?dl=0 ) . trace.mercuro.pcap is the one where the session is set up, but there is no audio flow and trace.boghe.pcap is the one with 488 error.

Cheers,
Serhat

On 1 November 2016 at 12:39, Daniel-Constantin Mierla <miconda@gmail.com> wrote:

Hello,

can you get the SIP INVITE content that was received by the endpoint returning 488? Maybe we can spot if there is something wrong in the sip message content or an issue in the endpoint software. Maybe it doesn't like headers with random string instead of ip addresses (e.g., in via, contact ...).

I am not aware of any ims softphone with webrtc capabilities.

Cheers,
Daniel


On 01/11/16 12:15, Serhat Guler wrote:
Hi,

I have a setup as follows:

IMS enabled on Kamailio and whereas websockets are enabled for PCSCF for webrtc calls. 

Calls(both audio and video) between to sipml5 clients using firefox web browser is possible. The session is setup for the calls from sipml5 to Mercuro, but then there isn't audio flow as the codecs are not compatible.

Now I want to test it with Boghe which supports G.722, PCMA, PCMU, and OPUS codecs as firefox but this time the session isn't being setup. Boghe replies with "Reason: SIP; cause=488; text="Bad content"
​" I have seen a similar issue has been mentioned here: https://github.com/c00lz3r0/boghe/issues/157  but the initial invite request from sipml5 does have the SDP with media attributes.

​Any advice or are there any other IMS softphones that I can use to test for this scenario. Thanks a lot.

P.S. The previous email went out directly unintentionally.
Serhat



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Berlin, Nov 28-30, 2016 - http://www.asipto.com

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users




--
Alberto Llamas
Telecommunications Engineer
Digium Certified Asterisk Professional (dCap)


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users




--
Alberto Llamas
Phone: +1-786-805-6003
Telecommunications Engineer
Digium Certified Asterisk Professional (dCap)