[SR-Users] Issue handling SRTP and RTP with rtpproxy and rtpengine

Alberto Sagredo alberto.sagredo at avanzada7.com
Tue Jul 14 17:26:16 CEST 2015


Thanks Vasily

direction parameter i understood it was as ie options on rtpproxy, maybe im
wrong.

About them , i was ngreping all trace and that was the option to get SDP
correct mapped using RTPengine..

WIll check with your comments and let you know back.

BR

2015-07-14 17:16 GMT+02:00 Vasiliy Ganchev <vasiliy.ganchev at wildix.com>:

> Alberto Sagredo-2 wrote
> > Thanks Vasily i have changed a little today using a RTPPROXY route.
> >
> > Thats what i have right now
> >
> > But its not working as expected
> >
> > What i try is to detect if i have SAVP from endpoint and translate to RTP
> > to ASterisk an later RTP from ASterisk translate to SRTP using rtpengine
> >
> > I had extrange behaviour using rtpproxy that send SRTP to Asterisk and i
> > have SRTP calls, i though rtpproxy 2.0 could not manage SRTP calls. but
> it
> > pass it to Asterisk
> >
> > Using RTPengine i have tested with rtpproxy_manage as you see and also
> > with
> > rtpengine.
> >
> > If i load both start_recording() feature is lost.
> >
> > On rtpengine (behind NAT) im using it as:
> >
> > INTERFACES="192.168.0.178 internal/192.168.0.178 external/192.168.0.179
> > !EXTERN_IP
> >
> >
> > On NATMANAGE route i call directly
> >
> > route(RTPPROXY);
> >
> >
> > Hope this helps
> >
> >
> > -----
> >
> > route[RTPPROXY] {
> >
> >         if (is_method("INVITE")){
> >
> > if(ds_is_from_list(1)){
> >
> >                 if (is_ip_rfc1918("$si")) {
> >
> >                                 xlog("L_INFO", "LLamada desde los
> > Asterisk_$si -> RTPPROXY\n");
> >
> >                         if (sdp_get_line_startswith("$avp(mline)", "m="))
> >
> >                         {
> >
> >                                 #!ifdef WITH_RTPENGINE
> >
> >                                 if ($avp(mline) =~ "SAVP")
> >
> >                                 {
> >
> >                                 xlog("L_INFO", "Tenemos SRTP ");
> >
> >                                 xlog("L_INFO", "Llamada entre Extensiones
> > -> RTPENGINE INTERNAL");
> >
> >                                 rtpengine_manage("direction=internal
> > replace-origin replace-session-connection ICE=remove");
> >
> >                                 return;
> >
> >                                 }
> >
> >                                 #!endif
> >
> >
> >                                 if ($avp(mline) =~ "AVP")
> >
> >                                 {
> >
> >                                 xlog("L_INFO", "Tenemos RTP ");
> >
> >                                 xlog("L_INFO", "Llamada entre Extensiones
> > -> RTPROXY ");
> >
> >
> >                                 #!ifdef WITH_RTPPROXY
> >
> >                                  set_rtp_proxy_set("1");
> >
> >                                 rtpproxy_manage("fwei");
> >
> >                                 start_recording();
> >
> >                                 #!endif
> >
> >
> >                                 #!ifdef WITH_RTPENGINE
> >
> >                                 set_rtp_proxy_set("2");
> >
> >                                 rtpproxy_manage("ie");
> >
> >                                 #!endif
> >
> >                                 }
> >
> >                         }
> >
> >                         }
> >
> >                }else if(!ds_is_from_list()){
> >
> >
> >                         if (sdp_get_line_startswith("$avp(mline)", "m="))
> >
> >                         {
> >
> >                                  #!ifdef WITH_RTPENGINE
> >
> >                                  if ($avp(mline) =~ "SAVP")
> >
> >                                 {
> >
> >                                 xlog("L_INFO", "Tenemos SRTP ");
> >
> >                                 xlog("L_INFO", "Llamada entre Extensiones
> > -> RTPENGINE EXTERNAL ");
> >
> >                                 rtpengine_manage("direction=external
> > replace-origin replace-session-connection ICE=remove");
> >
> >                                 return;
> >
> >                                 }
> >
> >
> >                                 #!endif
> >
> >                                 if ($avp(mline) =~ "AVP")
> >
> >                                 {
> >
> >                                 xlog("L_INFO", "Tenemos RTP ");
> >
> >                                 xlog("L_INFO", "Llamada entre Extensiones
> > -> RTPROXY ");
> >
> >
> >                                 #!ifdef WITH_RTPPROXY
> >
> >                                 set_rtp_proxy_set("1");
> >
> >                                 rtpproxy_manage("fwie");
> >
> >                                 start_recording();
> >
> >                                 #!endif
> >
> >
> >                                 #!ifdef WITH_RTPENGINE
> >
> >                                 set_rtp_proxy_set("2");
> >
> >                                 rtpproxy_manage("ei");
> >
> >                                 #!endif
> >
> >
> >                                 }
> >
> >                         }
> >
> >
> >
> >                 }
> >
> >       }
> >
> >
> > }
> >
> >
> >
> > 2015-07-14 14:24 GMT+02:00 Vasiliy Ganchev <
>
> > vasiliy.ganchev@
>
> > >:
> >
> >> Alberto Sagredo-2 wrote
> >> > ...
> >> > I have been able to make SRTP To RTP to Asterisk
> >> >
> >> > But im not able to call between SRTP extensions, i understand also
> SRTP
> >> to
> >> > RTP would work as im doing with Asterisk (Only the speak SRTP as
> >> rtpengine
> >> > trasncode)
> >> >
> >> >
> >> > If you need any more info let me know.
> >> >
> >> > _______________________________________________
> >> > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
> list
> >>
> >> > sr-users at .sip-router
> >>
> >> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> >>
> >> Hi!
> >> If you make SRTP to RTP to Asterisk, you possibly will need vice versa
> >> conversion (when request coming from Asterisk to client with SRTP).
> >>
> >> Can you describe the logic of test case: (UA-A (SRTP) --> Kamailio (make
> >> SRTP->RTP) .... etc.
> >>
> >> Because your explanation is difficult to understand.
> >>
> >> Cheers!
> >>
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://sip-router.1086192.n5.nabble.com/Issue-handling-SRTP-and-RTP-with-rtpproxy-and-rtpengine-tp139488p139521.html
> >> Sent from the Users mailing list archive at Nabble.com.
> >>
> >> _______________________________________________
> >> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> >>
>
> > sr-users at .sip-router
>
> >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> >>
> >
> > _______________________________________________
> > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>
> > sr-users at .sip-router
>
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
> What about ICE, where it has to work? (client->Kamailio - yes,
> Kamailio->Asterisk - no) or somehow else.
>
> For your description, I think you need to add something like this:
> - Kamailio -> Asterisk
>    rtpengine_manage("...............RTP/AVP"); ///// this will change
> profile to RTP/AVP
>
> - Asterisk -> Kamailio
>   rtpengine_manage("...............RTP/SAVPF"); ///// this will make
> backward changes
>
> Also read thoroughly the meaning and usage of "direction" parameter, I
> think
> you have little misunderstanding of how it works (maybe I'm wrong and you
> use it as it has to be, but re-read it anyway)
>
>
>
> --
> View this message in context:
> http://sip-router.1086192.n5.nabble.com/Issue-handling-SRTP-and-RTP-with-rtpproxy-and-rtpengine-tp139488p139556.html
> Sent from the Users mailing list archive at Nabble.com.
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150714/01a387d1/attachment.html>


More information about the sr-users mailing list