Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.woomeravoip.org Woomera Accelerating access to VoIP Cluecon 2009, 7 August 2009 Craig Southeren.

Similar presentations


Presentation on theme: "Www.woomeravoip.org Woomera Accelerating access to VoIP Cluecon 2009, 7 August 2009 Craig Southeren."— Presentation transcript:

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


Download ppt "Www.woomeravoip.org Woomera Accelerating access to VoIP Cluecon 2009, 7 August 2009 Craig Southeren."

Similar presentations


Ads by Google