Download presentation
Presentation is loading. Please wait.
Published byMeghan Vanessa Jacobs Modified over 9 years ago
1
www.woomeravoip.org Woomera Accelerating access to VoIP Cluecon 2009, 7 August 2009 Craig Southeren
2
www.woomeravoip.org Introduction Co-founder of OpenH323 project Co-maintainer of Opal project Post Increment – Consulting – Contracting – Open source development
3
www.woomeravoip.org What problems are we trying to solve?
4
www.woomeravoip.org Business Problems Create complex VoIP systems Remote customers Division of labour Blame game Scalability, redundancy, availability Minimise duplicated code Different programming languages
5
www.woomeravoip.org Mix closed source and open source software, and incompatible open source licenses
6
www.woomeravoip.org Different operating systems in the same product
7
www.woomeravoip.org We want simple and easy
8
www.woomeravoip.org We don’t want lots of baggage
9
www.woomeravoip.org The solution Socket-based protocol Like HTTP or SMTP Client-server architecture Commands to make/hangup/answer calls Not as complex as SIP! TCP socket for multiple calls MPL/GPL license
10
www.woomeravoip.org Woomera Overriding principle: KISS Use sockets to connect components Text based protocol, not an API Server/client architecture Command/response for actions Events for status changes Not reinvention of SIP/MGCP/H.323
11
www.woomeravoip.org One to one Driver abstraction Server Application Client VoIP protocol Woomera Woomera Server
12
www.woomeravoip.org Many to one Application redundancy Server Application Client VoIP protocol Woomera Woomera Server Application Client
13
www.woomeravoip.org Server One to many Load balancing Server Application Client VoIP protocol Woomera Woomera Server VoIP protocol
14
www.woomeravoip.org Server Many to many Full redundancy Server Application Client Woomera Woomera Server Application Client Woomera Server VoIP protocol
15
www.woomeravoip.org Message flow Client sends command, server responds Server can send events at any time No overlapped commands/responses Use of multiple sockets encouraged TCP socket for commands UDP socket for media Extensible
16
www.woomeravoip.org Message format Same as SIP/HTTP/SMTP command + args MIME information Optional body Event EVENT INCOMING Unique-Call-Id: 20000000 Protocol: sip
17
www.woomeravoip.org Command and media Commands sent over TCP Audio media sent over UDP – PCM-16 / SLINEAR – uLaw/ALaw Audio can flow direct Audio can be proxied Server Client media cmds media Server Client media cmds
18
www.woomeravoip.org Outgoing call ClientServer
19
www.woomeravoip.org Outgoing call CALL sip:time@opalvoip.net Raw-Audio: 12.3.4.5:1000 ClientServer
20
www.woomeravoip.org Outgoing call CALL sip:time@opalvoip.net Raw-Audio: 12.3.4.5:1000 ClientServer 200 Call started Unique-Call-Id: 10000000
21
www.woomeravoip.org Outgoing call CALL sip:time@opalvoip.net Raw-Audio: 12.3.4.5:1000 ClientServer 200 Call started Unique-Call-Id: 10000000 EVENT PROCEEDING Unique-Call-Id: 10000000
22
www.woomeravoip.org Outgoing call CALL sip:time@opalvoip.net Raw-Audio: 12.3.4.5:1000 ClientServer 200 Call started Unique-Call-Id: 10000000 EVENT PROCEEDING Unique-Call-Id: 10000000 EVENT CONNECT Unique-Call-Id: 10000000 Raw-Audio: 67.8.9.1
23
www.woomeravoip.org Incoming call (part 1) ClientServer
24
www.woomeravoip.org Incoming call (part 1) ClientServer LISTEN
25
www.woomeravoip.org Incoming call (part 1) ClientServer LISTEN 200 Listen accepted
26
www.woomeravoip.org Incoming call (part 1) ClientServer LISTEN 200 Listen accepted..... some time later.....
27
www.woomeravoip.org Incoming call (part 1) ClientServer EVENT INCOMING Unique-Call-Id: 10000000 Local-Number: 1234 Remote-Number: 5678 Protocol: sip LISTEN 200 Listen accepted..... some time later.....
28
www.woomeravoip.org Incoming call (part 2) Client Server
29
www.woomeravoip.org Incoming call (part 2) Client Server ACCEPT Unique-Call-Id: 10000000 Raw-Audio: 12.3.4.5:1000
30
www.woomeravoip.org Incoming call (part 2) Client Server ACCEPT Unique-Call-Id: 10000000 Raw-Audio: 12.3.4.5:1000 200 Call accepted Unique-Call-Id: 10000000 Raw-Audio: 67.8.9.1
31
www.woomeravoip.org Incoming call (part 2) ANSWER Unique-Call-Id: 10000000 Client Server ACCEPT Unique-Call-Id: 10000000 Raw-Audio: 12.3.4.5:1000 200 Call accepted Unique-Call-Id: 10000000 Raw-Audio: 67.8.9.1
32
www.woomeravoip.org Incoming call (part 2) ANSWER Unique-Call-Id: 10000000 Client Server 200 Call answered Unique-Call-Id: 10000000 ACCEPT Unique-Call-Id: 10000000 Raw-Audio: 12.3.4.5:1000 200 Call accepted Unique-Call-Id: 10000000 Raw-Audio: 67.8.9.1
33
www.woomeravoip.org Local call hangup Client Server
34
www.woomeravoip.org Local call hangup Client Server HANGUP Unique-Call-Id: 10000000
35
www.woomeravoip.org Local call hangup Client Server HANGUP Unique-Call-Id: 10000000 200 Call hungup Unique-Call-Id: 10000000
36
www.woomeravoip.org Remote call hangup Client Server
37
www.woomeravoip.org Remote call hangup Client Server EVENT HANGUP Unique-Call-Id: 10000000
38
www.woomeravoip.org Remote call hangup Client Server EVENT HANGUP Unique-Call-Id: 10000000 HANGUP Unique-Call-Id: 10000000
39
www.woomeravoip.org Remote call hangup Client Server EVENT HANGUP Unique-Call-Id: 10000000 HANGUP Unique-Call-Id: 10000000 200 Call hungup Unique-Call-Id: 10000000
40
www.woomeravoip.org DTMF Client Server
41
www.woomeravoip.org DTMF Client Server DTMF Unique-Call-Id: 10000000 Content-Length: 11 14157773456
42
www.woomeravoip.org DTMF Client Server DTMF Unique-Call-Id: 10000000 Content-Length: 11 14157773456 200 DTMF accepted Unique-Call-Id: 10000000
43
www.woomeravoip.org DTMF Client Server EVENT DTMF Unique-Call-Id: 10000000 Content-Length: 11 14157773456 DTMF Unique-Call-Id: 10000000 Content-Length: 11 14157773456 200 DTMF accepted Unique-Call-Id: 10000000
44
www.woomeravoip.org H.323 and Woomera CALL CommandH.323 PDU H.225 SETUP H.225 PROCEEDINGPROCEEDING Event H.225 CONNECTCONNECT HANGUP H.225 RELEASE COMPLETE H.225 RELEASE COMPLETE HANGUP DTMFH.245 UI/RFC 2833 DTMF INCOMING ACCEPTH.225 ALERTINGANSWERH.225 CONNECT H.225 SETUP
45
www.woomeravoip.org SIP and Woomera CALL CommandSIP PDU INVITE 180 RingingPROCEEDING Event 200 OKCONNECT HANGUP DTMFINFO/RFC 2833 DTMF INCOMING ACCEPT180 RINGINGANSWER200 OK INVITE
46
www.woomeravoip.org Real-world example #1 Asterisk chan_woomera WoomeraOpal H.323 H.323 for Asterisk Woomera
47
www.woomeravoip.org Real-world example #2 Jabber-based collaboration server WOpenMCU WoomeraOpal Audio-conferencing for collaboration WoomeraRTP Jabber clients (2000+) Woomera Jabber RTP CLI
48
www.woomeravoip.org Real-world example #3 WoomeraOpal Multi-protocol router Woomera Incoming leg Outbound leg SIP, H.323 etc
49
www.woomeravoip.org Real-world example #4 Control software WOpenMCU WoomeraOpal Dealer trading room system SIP gateway Woomera CLI SIP handsets
50
www.woomeravoip.org Libwoomera “C” interface Single threaded Triple license : GPL/LGPL/MPL Server and client Windows and Unix Self-proxy Auto-discovery of servers
51
www.woomeravoip.org Clients WOpenMCU – audio MCU Wproxy – back to back proxy chan_woomera – asterisk channel Sangoma Media Gateway
52
www.woomeravoip.org Servers WoomeraOPAL – SIP, H.323, IAX, ivr, fax WoomeraRTP – raw RTP and SRTP WoomeraPRI – E1/T1 over Sangoma PRI Sangoma – BRI and SS7
53
www.woomeravoip.org Future work Draft RFC Video support Hold and transfer Server limits and soft shutdown Secure command channel Secure media Different raw media types Call bridging Libwoomera enhancements
54
www.woomeravoip.org Questions ? craigs@postincrement.com http://www.woomeravoip.org
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.