[asterisk-users] Letting rtp profiles be handled by rtpengine instead of Asterisk

Paul Belanger paul.belanger at polybeacon.com
Mon Aug 11 17:56:25 CDT 2014

On Mon, Aug 11, 2014 at 4:45 AM, Olli Heiskanen
<ohjelmistoarkkitehti at gmail.com> wrote:
> Hello,
> I'm trying to get calls working between websocket clients and sip clients.
> For clients I have sip.js based clients on chrome, Zoipers and a Grandstream
> phone. Challenge here is I'd like to have Kamailio and rtpengine to handle
> the bridging between different rtp profiles but Asterisk changes them in the
> sdp bodies along the way. I'm using Asterisk 11.11.0.
> Is there a way to configure Asterisk to ignore the rtp profile but allow
> calls to pass with either of those profiles (even though clients might
> answer with 488 which would be caught and handled by Kamailio and
> rtpengine)? In my setup I have Asterisk Kamailio realtime integration, and
> the second goal is to be able to add peers to the db table with similar
> data, as in no different values based on what kind of client wants to
> register. I'd like to allow the user to register using which ever client
> they choose (in this case one of the 3 I mentioned).
> Previously I had problems like 'rejecting secure audio stream without
> encryption details', no audio or BYE messages sent immediately after call
> has begun etc, but according to sip.js documentation
> (http://sipjs.com/guides/server-configuration/asterisk/) the settings avpf
> and force_avp affect the way Asterisk handles the rtp profiles and now my
> calls do work ok but I'd need to move the rtp profile handling to rtpengine.
We are successfully using kamailio / rtpengine with websockets and
asterisk 1.8. First question is why are you duplicating registrations
within asterisk?  Secondly, why are you using websockets in asterisk?

Without knowing more about your use case, I'll tell you how we did it.
Like I said, kamailio is responsible for our SIP/ws subscribers and
registrations.  Once within kamailio we simply dispatch traffic to
asterisk via SIP/udp.  RTP is handled by rtpengine (using rtproxy-ng)
and that is basically it.

No special configuration is needed for asterisk (in fact 1.8 has no
support for RTP/SAVPF) so we rewrite SDP on 488.  Then setup a
kamailio peer and away you go.

Paul Belanger | PolyBeacon, Inc.
Jabber: paul.belanger at polybeacon.com | IRC: pabelanger (Freenode)
Github: https://github.com/pabelanger | Twitter: https://twitter.com/pabelanger

More information about the asterisk-users mailing list