Global Asterisk Voice over IP Implementation Kirk Wilson Director of IT kirk.wilson@shipsoffice.org 8-501-1000
Goals Connect existing telephone infrastructure Cut down on long distance cost Improve internal communications Provide easy remote access with soft phones Controlled bandwidth use of VoIP services Flexibility in providing future telephone services Build a globally scalable configuration
Why not Skype? Controlled/configured by end-user, not IT Every user needs computer Only talks to other Skype clients or through Skype out at a fee Not terribly bandwidth conservative Uses all available bandwidth to provide best call clarity by default Will quickly saturate a 256k satellite link, especially with multiple users Can not trunk multiple calls
Codec Bandwidth Comparison Skype 24k – 128k bps (may double with "station" mode) In super node mode it may saturate up to 100Mb/s G.711 (uLaw) 66 kb/s per call (+16 kb/s overhead) G.729 9.6 kb/s per call (+20 kb/s overhead) GSM 14.7 kb/s per call (+20 kb/s overhead) LPC10 6.1 kb/s per call (+16 kb/s overhead) SPEEX 17.4 kb/s per call (+20 kb/s overhead)
Asterisk Overview Premier open source PBX software Developed to run on Linux Can interconnect most existing VoIP/Digital/Analog technologies Seamless Protocol/Codec translation Can be deployed around existing PBX systems Supports IAX which requires only a single port Scalable from small to large systems
Global Design Issues Numbering Plan Office Interconnects System designed to scale beyond OM Ships to all of OM
Numbering Plan Requirements Easy to remember Integrate with existing varied PBX’s Simplify call routing/interconnects Q: Why not use “*” as the code? A: “*” is used to access local features of some SIP phones, leading to conflicts.
Numbering Plan 8-YYY-XXXX 8 – Asterisk access code YYY – Office code “Dial 8 for an asterisk line” YYY – Office code Can handle up to 999 OM offices XXXX – Local extension Can handle up to 9,999 extensions per office Q: Why not use “*” as the code? A: “*” is used to access local features of some SIP phones, leading to conflicts.
Numbering Plan This plan allows for easy integration into the already established telephone systems deployed at our existing offices and ships 8-500-XXXX Mosbach HQ Office 8-501-XXXX Carlisle Office 8-502-XXXX Doulos 8-503-XXXX Logos Hope
Office Interconnects Requirements Simple, easy to maintain Scalable Secure Bandwidth efficient
Office interconnects ENUM w/ RSA – Global Directory Interoffice link configuration stored in one standard DNS zone. (enum.om.org) Only one DNS record per office. Office code assignments and DNS can be centrally managed. (ICT?) New office: one new NAPTR record.
Office interconnects ENUM w/ RSA – Local Server Local extensions locally managed Local changes affect only the local server Single, unchanging, globally reusable context for each: Inbound VoIP calls Outbound VoIP calls New office: No changes necessary
Office interconnects ENUM w/ RSA – Connections No traffic until a call is made Calls are authenticated using a single “om-enum” RSA keypair
An example ENUM Call ENUM Result: .enum.om.org DNS Server Internet ENUM Result: 0.0.0.1.0.0.5.enum.om.org. IN NAPTR 100 10 “u” “E2U+IAX2” “!^\\+(.*)$!iax2:om-enum@voip.mosbach.omships.org/\\1!” Mosbach Asterisk strips office code Dials extension: 1000 Mosbach Asterisk sees inbound call to: 500-1000 DNS Server Matches: NAPTR 0.0.0.1.0.0.5.enum.om.org. to wildcard record NAPTR *.0.0.5.enum.om.org. ENUM Lookup: NAPTR 0.0.0.1.0.0.5.enum.om.org. Asterisk matches: _8XXXXXXX PBX passes call to Asterisk Call Completed Asterisk Dial: Dial(IAX2/om-enum@voip.mosbach.omships.org/5001000) User dials: 8-500-1000 RSA Public/Private Key Authentication An example ENUM Call
Satellite Considerations Problem: Severe bandwidth constraints 256kbit up/down limit Easily overloaded and render useless Solution: Route all calls via Carlisle Translate all calls to G.729 Limit total number of inbound/outbound calls Trunk calls for significant bandwidth savings
Additional Features Asterisk-less offices Date/time announcements Trogir Date/time announcements Time zone enumeration Interactive voice menus Voicemail
Future possibilities Faxing Conferences Worldwide VoIP to local PSTN gateways Doulos -> South Africa PSTN phone Only the cost of a local call Call following and Call groups Non-OM user soft phone access OM Standard Asterisk Server (?)
Ongoing Issues/Problems Faxing Can’t fax over a lossy voice codec No support for T.31 spandsp helps, but isn’t perfect Authentication Single RSA keypair for every office Encryption Asterisk current can not encrypt RSA authenticated channels
Questions?