Asterisk, NAT, and RTP?


I think I finally understood the issue/solution, but I’d like to make sure I’m correct:

  • In Diana Cionoiu’s famous article on Freshmeat, regardless of whether SIP end-points use a public IP or are behind a NAT, RTP packets flow directly between the two SIP end-points because the SIP server only acts… as an SIP server, meaning it only acts as a registrar (for SIP end-points to make themselves know with an IP + RTP ports), and then as a Central office (to ring the other SIP end-point, and close the connection when an SIP end-point decides to hangup)

  • OTOH, for IP PBX’s like Asterisk to provide PBX services (eg. call transfer, call parking, etc.), it must remain in the loop, and hence, by default (canreinvite=no), all RTP packets always go through Asterisk, even if both SIP end-points live in the same network as the Asterisk server (and hence, since NAT is not involved, there’s no need for any kung-fu with rewriting information in SDP packets and asking the NAT box to open the relevant ports for RTP)

Is this correct?

Thank you.