The only jitter buffers that matter in your diagram are the SIP ATA and
Media Gateway. Both should have jitter buffers at the point where they
convert RTP to PCM. If adding a jitter buffer inside the network path
somewhere helps then something else is broken.
Mark
On 10/27/05, Ray Van Dolson <rayvd(a)digitalpath.net> wrote:
http://webdev.digitalpath.net/~rayvd/voice/ser_asterisk.cfg
Is my Asterisk configuration file.
Basically:
[SIP ATA] <--- 172.25.163.0/24 <http://172.25.163.0/24> IP
[Customer CPE] <--- 10.0.0.0/8 <http://10.0.0.0/8> IP
[SER] <--- 10.0.0.0/8 <http://10.0.0.0/8> IP and Public Internet IP
[Asterisk] <--- Public Internet IP
Asterisk and SER are usually far from each other.
In my setup, Asterisk normally talks to my ISP's SIP/PSTN gateway and then
passes RTP on to my ISP's media gateway. So the normal flow of RTP is:
SIP ATA -> SER -> Asterisk -> Media Gateway -> PSTN
Some of our internet connections between SER and Asterisk can be a bit
finnicky at times and introduce jitter. Since Asterisk doesn't have a
(working) jitter buffer currently, any benefits from the jitter buffer on
my
ISP's Media Gateway cannot really be realized.
So I set up the config as in my cfg above and set canreinvite to yes for
the
ATA in my sip.conf on Asterisk (also make sure your Dial() in Asterisk's
extensions.conf doesn't have a t or T in the flags list). Then the
following
happens:
1. I make a call from my SIP ATA to a PSTN number.
2. INVITE to SER
3. Normal negotiation happens. RTP is flowing as in my original flow above
(with Asterisk in the media path)
4. Asterisk now sends an INVITE to SER with an SDP payload specifying the
IP
of my ISP's media gateway. This is a public out on the Internet.
5. This requests hits the loose route portion of my route {} block.
6. I rewrite the media IP to the 10.0.0.0/8 <http://10.0.0.0/8> IP on my
SER server, but also
specify the "R" flag to "trust" the IP originially passed by
Asterisk.
This allows SER to shift it's RTP stream to the Media Gateway's IP
address.
7. I use t_on_reply(2) because I want the reply from my SIP ATA for this
re-INVITE to hit my onreply_route[2] function.
8. The re-INVITE goes out to the SIP ATA and back comes the 200 OK
response
with an SDP payload. This reply hits onreply_route[2] and I fix the media
source IP here to have the IP of the SER server.
At this point, Asterisk is now out of the media path completely!
Hope that was somewhat helpful. Don't frown too much on my messy ser.cfg
file. :-)
Ray
On Fri, Oct 28, 2005 at 11:58:22AM +1300, Patrick Jordan-Smith wrote:
Hi Ray,
Can you tell the rest of us how you did it?
Ta,
Pat
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers