Asterisk is an Open Source PBX - but how does it support larger installations? Can you scale it up to thousands of users, with hundreds of simultaneous calls? What about failover, backups and the famous blinking lamps? Olle Johansson goes through various models and describes where some of his current projects with strange names - Pinefrog, Pinana, Pinetree and Bufo fits into this picture.
17. 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
18. Without the Internet you still have an old telephony PBX. an old telephony PBX. an old telephony PBX.
19. Without the Internet you are on an isolated island. isolated island. isolated island. So how do we get away from it?
20.
21.
22. Kamailio & Asterisk Session Border controller Proxy Core proxy Proxy Registrar/Location server Asterisk PSTN Gateway Asterisk Voicemail Server Asterisk Feature/IVR Server Asterisk Proxy
23.
24.
25. 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
26.
27. Let’s play together Kamailio Proxy Asterisk PBX Call stateful Transaction stateful *
44. Realtime in SIP with Dundi Dundi cluster SIP Database Server Calls and registrations are distributed with a SIP proxy or DNS or... * * * *
45. 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) * * * *
54. 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.
60. 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