[asterisk-users] Setting up RTP to flow between endpoints directlybypassingAsterisk
Jeff Brower
jbrower at signalogic.com
Wed Mar 17 17:34:02 CDT 2010
Klaus-
> Am 16.03.2010 01:42, schrieb Jeff Brower:
> > Vikram-
> >
> >> http://www.voip-info.org/wiki/view/Asterisk+Letting+SIP+clients+connect+directly
> >>
> >> The link above indicates that it is possible to setup RTP streams to
> >> directly flow between endpoints and completely bypass Asterisk. I would
> >> like to know if this configuration would work when,
> >>
> >> a) both endpoints are behind NAT, and/or
> >> b) both endpoints don't support same codecs
> >>
> >> with media flowing through a SIP+rtpproxy server that can do
> >> transcoding ?
> >
> > This would be 'native bridging' mode as I've seen it described a few places on the web, correct? If Asterisk is "out
> > of the RTP loop", then what can it still do? Only billing? It would not detect DTMF, no RTP record or announcement
> > playout, etc.
>
> No, this this is not native bridging.
>
> Asterisk supports 3 methods of media handling:
> 1. bridging: media (audio, video) is received on one channel, handled
> over to Asterisk's core, forwarded to the bridged channel, and sent out
> again.
>
> 2. native-bridging: if both bridged channels use the same technology
> then media can be bridged directly in the channel driver, no need to
> feed the media into Asterisk's core. For example SIP-to-SIP calls or
> DAHDI-to-DAHDI calls.
This is not what I understood initially from the Digium / voip-info.org web pages.
For example in the SIP-to-SIP case, are you saying that still the motherboard NIC
would be used and the Linux kernel would "touch" every packet, but Asterisk software
would not? My understanding was that RTP would flow direct between the NICs on the
devices.
> 3. bypass: here, the media flow bypasses Asterisk directly. AFAIK this
> works only with SIP as channel technology. This comes in 2 flavors:
>
> 3a) During call setup the media will be forwarded via Asterisk. Once
> the call is set-up, Asterisk will send reINVITEs to both clients using
> the clients original SDP contact information. For this you must set
> canreinvite=yes (1.4) or directmedia=yes (1.6) in sip.conf. Of course
> Asterisk will initiate the direct media only if the media is not needed
> in Asterisk, e.g. if you monitor a call, the media will always be routed
> via Asterisk.
Ok this is what I was expecting. I thought that canreinvite=yes was equivalent to
native bridging, but evidently there is a distinction here that I need to study.
> 3b) Media will bypass Asterisk from the beginning. Therefore you have
> to set directrtpsetup=yes. This is still experimental and causes weird
> reINVITEs (e.g. after call setup to lock down on a certain codec or
> after call termination to redirect media to Asterisk before hanging up).
>
> Both bypass modes Note only work if either there are no NATs at all, or
> the clients are behind the same NAT and do not use STUN.
Ok. Thanks for this info. I was not aware of directrtpsetup.
-Jeff
More information about the asterisk-users
mailing list