I spent the greater part of the last two years developing software to integrate with Asterisk and my most recent achievement was completely integrating OpenSER and Asterisk for use in a WAN environment. Due to the lack of any howto documentation or specific help in implementing such a network, I felt the need to write an article on the subject. This is my first attempt at technical writing so please be nice and any construtive feedback is most welcome.
The target audience for this article is assumed to have a reasonable understanding of VOIP protocols, in particular SIP or Session Initiaed Protocol. If you are just starting out in this arena, I suggest you might want to polish up on the basics. There is plently of information out there to help you gain a solid understanding of SIP so I won’t be going over any of the details regarding the protocol, nor will I be explaing where and how to get Asterisk, OpenSER and Mediaproxy.
Lets begin with the problem. The SIP protocol was not designed to run in a WAN or Wide Area Network environment. Ip Addressing information is sent via the protocol internally, and while your standing routing and NAT solutions allow the actual packet to reach its destination, it isn’t of much use as it contains registration or contact details of the sending unit using private IP ranges. There are a number of solutions to combat this issue and there are even features built into most SIP phones and into Asterisk to aide the registration problem, but I was never able to
connect multiple handsets to Asterisk with full functionality. The main problem I came up against was multiple handsets on a single given private network weren’t able to call each other and there was a limit of one call at a time.