Scaling Asterisk Installations Olle E. Johansson Oej@edvina.net * Twitter: oej Copyright Edvina AB, Sollentuna, Sweden 2010. All rights reserved.
Agenda SIP Asterisk RFC 3261 VRRP Kamailio Kamailio modules SIP DNS Many slides copied from the  Asterisk SIP Masterclass DNS SRV DNS NAPTR DNSsec SIP.conf general sip.conf peer config SIP realtime AstDB TLS Manager IPv6 IPv6 and SIP IPv6 and NAt IPv6 on Linux IPv6 on Mac IPv6, life, universe and cool gadgets
Agenda The vision - Open Unified Communication Scaling with SIP Overview of models for integration Diaplan and config examples for some cool SIP stuff New work - various mixed branches Many slides copied from the  Asterisk SIP Masterclass
Disclaimer There are as many ways to scale as there are engineers in this room I can only guide you forward, not give you the solution and configuration - at least not in this presentation This presentation includes a lot of opinions that are my personal, and thus the official opinions of Edvina International AB and affiliated companies
The big question What do you want to do today?
Realtime  OPEN  IP  Communication Audio Video Text White-board 3D Hologr ????
What’s pushing us forward?
#1 : The Internet. The Internet is truly always available The networks are getting better Telephony over 3g works today 4g will get there in 10 years time. HD video anyone?
#2: Open Standards making it possible making it possible The TCP/IP protocol suite SIP XMPP Unicode Freely available codecs
#3: Open Source FreeSwitch,  Asterisk, Kamailio, SIP-router, ejabberd, Linux, FreeBSD, Adhearsion The application stack is available without license fees (I won’t say for free) Quick adaption to your business possible, you have the source and an open market available Innovation is pushing these platforms forward
#4: Voice interfaces Speech recognition and synthesis Natural interfaces for services Price/channel has gone down
#5: Commodity hardware Standard PC servers can run 10.000 audio channels - over 5.000 calls. Today. Investment/call is going down
#6: API’s Programmer interfaces to telephony are freely available Lowers cost of implementation Asterisk AGI/AMI,  Adhearsion, FreeSwitch libraries Service providers run these You don’t need your own PBX to add voice to your apps!
#7: Unified, federated identity [email_address] LDAP OpenID SAML 2.0 Oauth
In order to follow this We need to leave the old PBX model behind. Let go. It’s done it’s job.
Conclusion A realtime platform is much more than telephony.
Consider If you invest in a unified communication network today and design it for voice/PBX services only,  it won’t work for future services
Without the Internet you still have  an old telephony PBX. an old telephony PBX. an old telephony PBX.
Without the Internet you are on an isolated island. isolated island. isolated island. So how do we get away from it?
Where are we today? Asterisk by itself will not scale Asterisk by itself will only handle IP telephony Asterisk alone is not the path to the scalable realtime platform you need Asterisk is a very important part of it.
How do we solve this? Adding a SIP proxy  to your network Kamailio - formerly OpenSER and SER - is my preferred choice
Kamailio & Asterisk Session Border controller Proxy Core proxy Proxy Registrar/Location server Asterisk PSTN Gateway Asterisk Voicemail Server Asterisk Feature/IVR Server Asterisk Proxy
Scaling using SIP Install at least one SIP proxy in your network Benefits : Scalability Security Application independence Telephony, video, IM, presence
The problem with Kamailio In order to operate it, you need to understand SIP fully It’s not like Asterisk - at all.
A proxy SIP call and an Asterisk SIP call AUDIO STREAM AUDIO STREAMS One SIP call (dialog) One SIP call (dialog) from Alice to Asterisk One SIP call (dialog) from Asterisk to Bob Alice Bob Two SIP calls, and two media streams SIP Proxy Asterisk
SIP proxy & b2bua working together ...in harmony?
Let’s play together Kamailio Proxy Asterisk PBX Call stateful Transaction stateful *
Asterisk’s view of SIP
Where we should be going... SIP SIP SIP Asterisk interoperating with a SIP infrastructure with full interoperability
SuperQuick Intro to Kamailio
A SIP proxy Forwards SIP messages, like an IP router May host a user database and location table With the help of the location table, may fork messages Can do many other things, like failover handling and load balancing between servers
Kamailio Open Source SIP server Can be used as a SIP proxy, registrar, location server, presence server, application server and much more Used to be named OpenSER Forked from SER a few years ago, merged back in 2009 in the SIP-router project Large team of dedicated developers
Step 1 Adding a SIP proxy between Asterisk and the phones
Simple scenario We already have an operational Asterisk Phones register with a  domain Move the domain to point to Kamailio Make Kamailio forward SIP requests to Asterisk (static routing) User database *
Changes from Asterisk PoV Asterisk will no longer see the sender’s IP address of the phone Matching on IP will not work (peer matching for incoming calls) Type=user and type=friend will work as before Asterisk has to use Kamailio as Outbound Proxy for all outbound calls Otherwise, Asterisk will bypass the proxy
Possible next step Add another Asterisk for failover Let Kamailio handle failover Only one asterisk in production at each time, sharing database * *
Stage 2 Power struggle
Simple scenario User database Phones register with a  domain Let Kamailio handle the registrations Asterisk will become the gateway and media server *
Changes Peers/users will not work any more in Asterisk Only the proxy will be a peer All phones have the same codec settings Based on the generic configuration The proxy can add account data in specific headers Accountcode, device name, account type Asterisk can add data to CDRs Account code from proxy Asterisk dialplan can act on this data Allow international calls based on account type
Possible next step User database Multiple Asterisks active Multiple Kamailios active Failover and load balancing by the proxy * *
Issues Asterisk no longer has any device/extension states Blinking lamps will not work, since we’re not matching to any user/peer Queues will not work, since we have no state You can’t have different codec settings for different users
Using Realtime Real Time, what realtime? Give me more time.
Realtime in SIP Built for PSTN gateways All servers share the same device database Anyone can place a call anywhere, register anywhere You need to direct the call between Asterisk’s if you support NAT Proxy with load balancing * * * *
Realtime in SIP with Dundi Dundi cluster SIP Database Server Calls and registrations are distributed with a SIP proxy or DNS or... * * * *
Realtime in SIP with SysName Database Server Calls and registrations are distributed with DNS The DB contains the SystemName of the server that accepted registration for outbound calls (NAT traversal) * * * *
Pro’s and con’s We still use Asterisk accounts for peers users If users are randomly distributed across servers, we can’t support blinking lamps (subscriptions) or call queues
Realtime hybrid
Sharing data Kamailio authenticates Both are using the same database, based on Asterisk realtime The ”secret” field needs another name, otherwise Asterisk will try to authenticate too User database *
PBX hosting
Requirements PBX hosting has special requirements You have to design the services to fit your model If you require Call queues, blinking lamps, manager (AMI) and call parking then you HAVE to have ONE asterisk for ONE customer
PBX hosting PBXs require device states in most cases Blinking lamps, call queues, call counters In order to do this, users needs to share the same PBX Pbx customer 1 Pbx customer 2 Pbx customer 3 Voicemail, conferencing services * * * *
What you can do Have one active server per customer Have a pool of ”standby” failover servers Have dedicated servers for voicemail, IVR and conferencing Pbx customer 1 Pbx customer 2 Standby Voicemail, conferencing services * * * * *
Configuration
Configuring a peer for the proxy [mypeer] type=peer host=mypeer.mydomain.mytld context=mypeer-in With this configuration, we can place calls and receive calls. Asterisk will match on IP for incoming calls and send outbound calls to the proxy.
Receiving calls The SIPDOMAIN channel variable will tell you which domain that is used for the incoming calls The Username part is the extension sip: 123456 @ kamailioguru.org ${EXTEN} exten=> 123456,1,noop ${SIPDOMAIN} [kamailio_in] exten =>_X.,1,goto(${SIPDOMAIN},${EXTEN},1) [kamailioguru.org] exten => _X.,1,verbose(hello ${EXTEN})
Sending calls [kamailio] type=peer host=mypeer.mydomain.mytld context=mypeer-in exten => 12345,1,dial(SIP/12345@kamailio) INVITE sip:12345@mypeer.mydomain.mytld To: sip:12345@mypeer.mydomain.mytld
Sending calls (2) [kamailio] type=peer host=mypeer.mydomain.mytld context=mypeer-in exten => 12345,1,dial(SIP/12345@kamailio! 0812346 ) INVITE sip:12345@mypeer.mydomain.mytld To: sip:  0812346 @mypeer.mydomain.mytld From: sip:yyyy@asterisk
Sending calls (2) [kamailio] type=peer host=mypeer.mydomain.mytld context=mypeer-in exten => 12345,1,dial(SIP/12345@kamailio! [email_address] ) INVITE sip:12345@mypeer.mydomain.mytld To: sip:  0812346 @kamailio.org From: sip:yyyy@asterisk
SBC behaviour INCOMING REQUEST Get the extension and SIPDOMAIN Get the FROM: uri Outbound request Set the FROM uri Send the call to extension@sipdomain Needs patches only in 1.8, but they do exist for 1.4
Example ; Get the full FROM Uri ; The username part is already the caller ID exten => _.,1,set(fromuri=${SIPCHANINFO(from)}) ; Get the domain and set it for the outbound call ; Note! This requires a patch. Exist in 1.6.2 and later. exten => _.,n,set(SIPFROMDOMAIN=${CUT(fromuri,@,2}) ; Dial out. The ! part only exist in 1.6.0 and later exten => _.,n,dial(SIP/${EXTEN}@${SIPDOMAIN}!${SIP_HEADER(To)}) The outbound proxy setting will route calls to the proxy
Asterisk as PSTN gateway, not pbx Try to avoid peers/users Load data based on caller ID or auth in proxy Asterisk can manage caller IDs, accountcodes and many other things by SQL integration with AGI, ODBC modules or realtime There’s really no need for an Asterisk server to ”own” an account - or a device. Let the proxy send the calls wherever you have capacity
Asterisk media server
Playing prompts ; Don’t answer immediately, that confuses people exten => invalidnumber,1,ringing() exten => invalidnumber,n,wait(1) exten => invalidnumber,n,answer ; Let the RTP streams settle exten => invalidnumber,n,wait(.5) exten => invalidnumber,n,playback(invalid-number) ; Let the RTP streams settle exten => invalidnumber,n,wait(.5) exten => invalidnumber,n,hangup
Future and current work
Pinetree Matching peers beyond the SIP proxy Peers can have different codec settings Based on the via ”received” parameter Pbx customer 1 Pbx customer 2 Standby * * *
Appleraisin AstDB running over REALTIME Storing SIP registrations, queue states in Mysql/PostgreSQL Providing scalability for ”traditional” PBXs MySQL MySQL * *
PineFrog Improving RTCP support in Asterisk RTCP for p2p bridged calls Improved support of RTCP in the case of NAT RTCP reports during call to manager RTCP reports stored in realtime (MySQL, PostgreSQL etc) for each SIP call leg Only for 1.4 today Has handled millions of calls this year
Pinana Scalable blinking lamps Sharing device states using SIP Off-loading subscriptions to a SIP proxy
Other branches MiniVM 1.4 - MiniVoicemail (part of 1.6.0) Deluxpine-1.4 - Named ACL’s OBproxy 1.4 - Fix for correct OB Proxy support Needs refixing in 1.8 Peerfailover - failover between SIP proxys mid-call (1.4) Bufo - adding more control for manager clients Incoming context control for originate, redirect Setvar= for originate
Summary
Migration is hard If you have an existing Asterisk platform, migration to a new scalable multi-application platform is hard It’s easier to add failover than load-balancing It’s hard to change focus from Asterisk to Kamailio Pinana and AppleRaisin will make it much easier to scale PBX services like FreePBX,  AsteriskGUI,  AsteriskNow
Building a new platform Consider if you want it to be telephony-centric  SIP is a realtime platform for many applications Try hard not to lock yourself to Asterisk There might be other better applications coming in a few years Asterisk today is just for telephony Start with SIP Build a scalable addressing plan - not using phone numbers Use an application-neutral server - not a telephony PBX
One last issue. I just can’t let this go.
Why are we still building with PSTN focus? PSTN SIP SIP SIP SIP SIP SIP Isolated islands of SIP!
Put the Internet where it belongs @ SIP SIP SIP SIP SIP SIP One Unified Communications Network PSTN PSTN PSTN PSTN PSTN PSTN
IPv6 is the new glue No NAT.  Enough network addresses to build anything you need.  Go and have fun. Discover the new oppurtunities with IPv6!
Questions? ?
© Copyright Edvina AB, Sollentuna, Sweden 2010. All rights reserved. Open Unified Communication Connecting Internet Users in real time.

Astricon 2010: Scaling Asterisk installations

  • 1.
    Scaling Asterisk InstallationsOlle E. Johansson Oej@edvina.net * Twitter: oej Copyright Edvina AB, Sollentuna, Sweden 2010. All rights reserved.
  • 2.
    Agenda SIP AsteriskRFC 3261 VRRP Kamailio Kamailio modules SIP DNS Many slides copied from the Asterisk SIP Masterclass DNS SRV DNS NAPTR DNSsec SIP.conf general sip.conf peer config SIP realtime AstDB TLS Manager IPv6 IPv6 and SIP IPv6 and NAt IPv6 on Linux IPv6 on Mac IPv6, life, universe and cool gadgets
  • 3.
    Agenda The vision- Open Unified Communication Scaling with SIP Overview of models for integration Diaplan and config examples for some cool SIP stuff New work - various mixed branches Many slides copied from the Asterisk SIP Masterclass
  • 4.
    Disclaimer There areas many ways to scale as there are engineers in this room I can only guide you forward, not give you the solution and configuration - at least not in this presentation This presentation includes a lot of opinions that are my personal, and thus the official opinions of Edvina International AB and affiliated companies
  • 5.
    The big questionWhat do you want to do today?
  • 6.
    Realtime OPEN IP Communication Audio Video Text White-board 3D Hologr ????
  • 7.
  • 8.
    #1 : TheInternet. The Internet is truly always available The networks are getting better Telephony over 3g works today 4g will get there in 10 years time. HD video anyone?
  • 9.
    #2: Open Standardsmaking it possible making it possible The TCP/IP protocol suite SIP XMPP Unicode Freely available codecs
  • 10.
    #3: Open SourceFreeSwitch, Asterisk, Kamailio, SIP-router, ejabberd, Linux, FreeBSD, Adhearsion The application stack is available without license fees (I won’t say for free) Quick adaption to your business possible, you have the source and an open market available Innovation is pushing these platforms forward
  • 11.
    #4: Voice interfacesSpeech recognition and synthesis Natural interfaces for services Price/channel has gone down
  • 12.
    #5: Commodity hardwareStandard PC servers can run 10.000 audio channels - over 5.000 calls. Today. Investment/call is going down
  • 13.
    #6: API’s Programmerinterfaces to telephony are freely available Lowers cost of implementation Asterisk AGI/AMI, Adhearsion, FreeSwitch libraries Service providers run these You don’t need your own PBX to add voice to your apps!
  • 14.
    #7: Unified, federatedidentity [email_address] LDAP OpenID SAML 2.0 Oauth
  • 15.
    In order tofollow this We need to leave the old PBX model behind. Let go. It’s done it’s job.
  • 16.
    Conclusion A realtimeplatform is much more than telephony.
  • 17.
    Consider If youinvest in a unified communication network today and design it for voice/PBX services only, it won’t work for future services
  • 18.
    Without the Internetyou still have an old telephony PBX. an old telephony PBX. an old telephony PBX.
  • 19.
    Without the Internetyou are on an isolated island. isolated island. isolated island. So how do we get away from it?
  • 20.
    Where are wetoday? Asterisk by itself will not scale Asterisk by itself will only handle IP telephony Asterisk alone is not the path to the scalable realtime platform you need Asterisk is a very important part of it.
  • 21.
    How do wesolve this? Adding a SIP proxy to your network Kamailio - formerly OpenSER and SER - is my preferred choice
  • 22.
    Kamailio & AsteriskSession Border controller Proxy Core proxy Proxy Registrar/Location server Asterisk PSTN Gateway Asterisk Voicemail Server Asterisk Feature/IVR Server Asterisk Proxy
  • 23.
    Scaling using SIPInstall at least one SIP proxy in your network Benefits : Scalability Security Application independence Telephony, video, IM, presence
  • 24.
    The problem withKamailio In order to operate it, you need to understand SIP fully It’s not like Asterisk - at all.
  • 25.
    A proxy SIPcall and an Asterisk SIP call AUDIO STREAM AUDIO STREAMS One SIP call (dialog) One SIP call (dialog) from Alice to Asterisk One SIP call (dialog) from Asterisk to Bob Alice Bob Two SIP calls, and two media streams SIP Proxy Asterisk
  • 26.
    SIP proxy &b2bua working together ...in harmony?
  • 27.
    Let’s play togetherKamailio Proxy Asterisk PBX Call stateful Transaction stateful *
  • 28.
  • 29.
    Where we shouldbe going... SIP SIP SIP Asterisk interoperating with a SIP infrastructure with full interoperability
  • 30.
  • 31.
    A SIP proxyForwards SIP messages, like an IP router May host a user database and location table With the help of the location table, may fork messages Can do many other things, like failover handling and load balancing between servers
  • 32.
    Kamailio Open SourceSIP server Can be used as a SIP proxy, registrar, location server, presence server, application server and much more Used to be named OpenSER Forked from SER a few years ago, merged back in 2009 in the SIP-router project Large team of dedicated developers
  • 33.
    Step 1 Addinga SIP proxy between Asterisk and the phones
  • 34.
    Simple scenario Wealready have an operational Asterisk Phones register with a domain Move the domain to point to Kamailio Make Kamailio forward SIP requests to Asterisk (static routing) User database *
  • 35.
    Changes from AsteriskPoV Asterisk will no longer see the sender’s IP address of the phone Matching on IP will not work (peer matching for incoming calls) Type=user and type=friend will work as before Asterisk has to use Kamailio as Outbound Proxy for all outbound calls Otherwise, Asterisk will bypass the proxy
  • 36.
    Possible next stepAdd another Asterisk for failover Let Kamailio handle failover Only one asterisk in production at each time, sharing database * *
  • 37.
    Stage 2 Powerstruggle
  • 38.
    Simple scenario Userdatabase Phones register with a domain Let Kamailio handle the registrations Asterisk will become the gateway and media server *
  • 39.
    Changes Peers/users willnot work any more in Asterisk Only the proxy will be a peer All phones have the same codec settings Based on the generic configuration The proxy can add account data in specific headers Accountcode, device name, account type Asterisk can add data to CDRs Account code from proxy Asterisk dialplan can act on this data Allow international calls based on account type
  • 40.
    Possible next stepUser database Multiple Asterisks active Multiple Kamailios active Failover and load balancing by the proxy * *
  • 41.
    Issues Asterisk nolonger has any device/extension states Blinking lamps will not work, since we’re not matching to any user/peer Queues will not work, since we have no state You can’t have different codec settings for different users
  • 42.
    Using Realtime RealTime, what realtime? Give me more time.
  • 43.
    Realtime in SIPBuilt for PSTN gateways All servers share the same device database Anyone can place a call anywhere, register anywhere You need to direct the call between Asterisk’s if you support NAT Proxy with load balancing * * * *
  • 44.
    Realtime in SIPwith Dundi Dundi cluster SIP Database Server Calls and registrations are distributed with a SIP proxy or DNS or... * * * *
  • 45.
    Realtime in SIPwith SysName Database Server Calls and registrations are distributed with DNS The DB contains the SystemName of the server that accepted registration for outbound calls (NAT traversal) * * * *
  • 46.
    Pro’s and con’sWe still use Asterisk accounts for peers users If users are randomly distributed across servers, we can’t support blinking lamps (subscriptions) or call queues
  • 47.
  • 48.
    Sharing data Kamailioauthenticates Both are using the same database, based on Asterisk realtime The ”secret” field needs another name, otherwise Asterisk will try to authenticate too User database *
  • 49.
  • 50.
    Requirements PBX hostinghas special requirements You have to design the services to fit your model If you require Call queues, blinking lamps, manager (AMI) and call parking then you HAVE to have ONE asterisk for ONE customer
  • 51.
    PBX hosting PBXsrequire device states in most cases Blinking lamps, call queues, call counters In order to do this, users needs to share the same PBX Pbx customer 1 Pbx customer 2 Pbx customer 3 Voicemail, conferencing services * * * *
  • 52.
    What you cando Have one active server per customer Have a pool of ”standby” failover servers Have dedicated servers for voicemail, IVR and conferencing Pbx customer 1 Pbx customer 2 Standby Voicemail, conferencing services * * * * *
  • 53.
  • 54.
    Configuring a peerfor the proxy [mypeer] type=peer host=mypeer.mydomain.mytld context=mypeer-in With this configuration, we can place calls and receive calls. Asterisk will match on IP for incoming calls and send outbound calls to the proxy.
  • 55.
    Receiving calls TheSIPDOMAIN channel variable will tell you which domain that is used for the incoming calls The Username part is the extension sip: 123456 @ kamailioguru.org ${EXTEN} exten=> 123456,1,noop ${SIPDOMAIN} [kamailio_in] exten =>_X.,1,goto(${SIPDOMAIN},${EXTEN},1) [kamailioguru.org] exten => _X.,1,verbose(hello ${EXTEN})
  • 56.
    Sending calls [kamailio]type=peer host=mypeer.mydomain.mytld context=mypeer-in exten => 12345,1,dial(SIP/12345@kamailio) INVITE sip:12345@mypeer.mydomain.mytld To: sip:12345@mypeer.mydomain.mytld
  • 57.
    Sending calls (2)[kamailio] type=peer host=mypeer.mydomain.mytld context=mypeer-in exten => 12345,1,dial(SIP/12345@kamailio! 0812346 ) INVITE sip:12345@mypeer.mydomain.mytld To: sip: 0812346 @mypeer.mydomain.mytld From: sip:yyyy@asterisk
  • 58.
    Sending calls (2)[kamailio] type=peer host=mypeer.mydomain.mytld context=mypeer-in exten => 12345,1,dial(SIP/12345@kamailio! [email_address] ) INVITE sip:12345@mypeer.mydomain.mytld To: sip: 0812346 @kamailio.org From: sip:yyyy@asterisk
  • 59.
    SBC behaviour INCOMINGREQUEST Get the extension and SIPDOMAIN Get the FROM: uri Outbound request Set the FROM uri Send the call to extension@sipdomain Needs patches only in 1.8, but they do exist for 1.4
  • 60.
    Example ; Getthe full FROM Uri ; The username part is already the caller ID exten => _.,1,set(fromuri=${SIPCHANINFO(from)}) ; Get the domain and set it for the outbound call ; Note! This requires a patch. Exist in 1.6.2 and later. exten => _.,n,set(SIPFROMDOMAIN=${CUT(fromuri,@,2}) ; Dial out. The ! part only exist in 1.6.0 and later exten => _.,n,dial(SIP/${EXTEN}@${SIPDOMAIN}!${SIP_HEADER(To)}) The outbound proxy setting will route calls to the proxy
  • 61.
    Asterisk as PSTNgateway, not pbx Try to avoid peers/users Load data based on caller ID or auth in proxy Asterisk can manage caller IDs, accountcodes and many other things by SQL integration with AGI, ODBC modules or realtime There’s really no need for an Asterisk server to ”own” an account - or a device. Let the proxy send the calls wherever you have capacity
  • 62.
  • 63.
    Playing prompts ;Don’t answer immediately, that confuses people exten => invalidnumber,1,ringing() exten => invalidnumber,n,wait(1) exten => invalidnumber,n,answer ; Let the RTP streams settle exten => invalidnumber,n,wait(.5) exten => invalidnumber,n,playback(invalid-number) ; Let the RTP streams settle exten => invalidnumber,n,wait(.5) exten => invalidnumber,n,hangup
  • 64.
  • 65.
    Pinetree Matching peersbeyond the SIP proxy Peers can have different codec settings Based on the via ”received” parameter Pbx customer 1 Pbx customer 2 Standby * * *
  • 66.
    Appleraisin AstDB runningover REALTIME Storing SIP registrations, queue states in Mysql/PostgreSQL Providing scalability for ”traditional” PBXs MySQL MySQL * *
  • 67.
    PineFrog Improving RTCPsupport in Asterisk RTCP for p2p bridged calls Improved support of RTCP in the case of NAT RTCP reports during call to manager RTCP reports stored in realtime (MySQL, PostgreSQL etc) for each SIP call leg Only for 1.4 today Has handled millions of calls this year
  • 68.
    Pinana Scalable blinkinglamps Sharing device states using SIP Off-loading subscriptions to a SIP proxy
  • 69.
    Other branches MiniVM1.4 - MiniVoicemail (part of 1.6.0) Deluxpine-1.4 - Named ACL’s OBproxy 1.4 - Fix for correct OB Proxy support Needs refixing in 1.8 Peerfailover - failover between SIP proxys mid-call (1.4) Bufo - adding more control for manager clients Incoming context control for originate, redirect Setvar= for originate
  • 70.
  • 71.
    Migration is hardIf you have an existing Asterisk platform, migration to a new scalable multi-application platform is hard It’s easier to add failover than load-balancing It’s hard to change focus from Asterisk to Kamailio Pinana and AppleRaisin will make it much easier to scale PBX services like FreePBX, AsteriskGUI, AsteriskNow
  • 72.
    Building a newplatform Consider if you want it to be telephony-centric SIP is a realtime platform for many applications Try hard not to lock yourself to Asterisk There might be other better applications coming in a few years Asterisk today is just for telephony Start with SIP Build a scalable addressing plan - not using phone numbers Use an application-neutral server - not a telephony PBX
  • 73.
    One last issue.I just can’t let this go.
  • 74.
    Why are westill building with PSTN focus? PSTN SIP SIP SIP SIP SIP SIP Isolated islands of SIP!
  • 75.
    Put the Internetwhere it belongs @ SIP SIP SIP SIP SIP SIP One Unified Communications Network PSTN PSTN PSTN PSTN PSTN PSTN
  • 76.
    IPv6 is thenew glue No NAT. Enough network addresses to build anything you need. Go and have fun. Discover the new oppurtunities with IPv6!
  • 77.
  • 78.
    © Copyright EdvinaAB, Sollentuna, Sweden 2010. All rights reserved. Open Unified Communication Connecting Internet Users in real time.