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@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 IP

[Customer CPE] <--- 10.0.0.0/8 IP

[SER] <--- 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 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@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers