Asterisk RTP communication?

In asterisk RTP communications have to be through Asterisk? I mean if A and B sip user agents want to speak with sip module so their voice packets have to arrive each other passing through Asterisk server?

There’s an option that allows for RTP to pass through a different path than instrument to server to server to instrument.

Personally, I always make sure my traffic passes through my server (I record lots of my calls) so I don’t allow the RTP redirection, but it is possible.

I was under the impression that Asterisk was a B2B application, which by definition requires the RTP to go through the Asterisk Server.

If it IS possible, I would be interested in how. I have a few cases where that could be interesting. How is it done?

In doing that, your would, of course, loose the ability to conference, record, ChanSpy, etc and any other function that requires access to the media stream.

It’s literally been 10 years since I thought about doing this - it’s something that I deliberately avoid for just the reasons you listed.

Also, keep in mind that the control channel (the 5060 part) has to go through the server - the only thing that can be redirected is the RTP part.

I don’t remember much of the specifics, but there is an option in SIP/RTP to allow directed RTP traffic to reconnect to a different server. This all came up when I was troubleshooting an RTP problem with my ITSP and he was explaining why and when the RTP traffic could be “not passing” through my server.

Theoretically, if you had two phones with routable addresses, you could establish a call through the PBX and have the RTP redirect to the other device. You’d have to be calling from a phone outside the local network - the phone would need to be publically routable. You’d also have to set the phone up to redirect the RTP stream to the receiving device.

It might also be possible to place a call from one phone to another phone directly by using the “IP-address” options on the phone, which could bypass your local Asterisk server. It isn’t exactly the same thing, but it might accomplish something like what you are looking for.

Note that this is all way outside the norm - most people (when they set up something this valuable) want to know what is going on, and so they do not allow this kind of redirection.

The example we were working with was a call from my PBX to my ITSP to a SIP server and phone on the remote location - they were not seeing the RTP traffic at their location (the ITSP) because our two servers were redirecting the traffic between our sites. I turned that feature off on my server and he was then able to see the traffic.

I meant that when sip clients attempt to call eachother so I don’t want asterisk modify sip clients rtp path. I want sip agents to send rtp packets direct eachother. Rtp packets will not redirected any other server or etc.

If the two endpoints can talk on the network directly (no nat on either end) then look into setting directmedia and directrtpsetup on every part of the connection

How can adjust this setting over freepbx? If there is not any adjustment like this over freepbx so how can I adjust sending rtp packets direct each other?
If two sip clients is not same local area network so it works?(I mean sip clients resides different public ip)
If two sip clients is not same local area network and both of them sits under the NAT?
If two sip clients in same LAN so it works?

Google for more

I have applied all of settings via Freepbx. I have added 2 chan_pjsip terminals via freepbx.
Both of my clients in same network id.One of them is 10.0.0.15 another one is 10.0.0.17. And asterisk running on 10.0.0.100.
Asterisk change connection information. Asterisk writes its own ip address and rpt ports to SDP packets.
How can i solve?

I have never tried pjsip

when i adjust these settings with chan_sip so sip clients can not be registered.

You would need to fix that.

i fixed. But still connection information is Asterisk’s IP and port :((.
I called from one sip client to another. Their connection information is 10.0.0.100

The sip connection wont change. It will always be through the asterism server.

Yes i know. But asterisk gives it s own ip and port information in SDP packets. So rtp packets will go through asterisk server. i want sip clients send RTP packets peer-to-peer. Not through asterisk

Sip offers a reinvite this is either accepted or ignored, you can " sip debug" from there.

Also, this isn’t an Asterisk thing - this is just the way that VOIP works. It is implemented in Asterisk and several other telephone systems and applications.

My friends are you joking with me?? Are you trying to rise your message count? I said 10 times, asterisk puts its own ip and port inside of the sdp.

Yes, and we pointed you at how to modify that behavior, as well as telling you other ways that you can dirvert the RTP traffic stream. Are you just trying to increase your message count by asking the same question over and over without apparently reading the responses?

I am sorry we all wasted each others time here, it works as advertised given all the restrictions but good luck.