SlideShare a Scribd company logo
1 of 36
Download to read offline
Top 5 Challenges to Add
Web Calls to Truphone VoIP
Platform
Giacomo Vacca
Senior Network Applications Developer
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
labs.truphone.com
2
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 3
WebRTC is not for VoIP devs
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 4
The “Traditional Architecture”
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
• Follow standards
• Use Open Source products
• Think scalability since the beginning
• Don’t compromise on security
• Change often, keep technical debt low
• Deploy automatically
5
Design Principles
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
• JS client (JsSIP-based)
• WebSockets
• Authentication
• Media relay for p2p sessions
• FreeSWITCH out of the media path
• Web/VoIP/PSTN interaction
–Support for DTLS
6
Changes Required
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
Websocket support
7
Challenge 1
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 8
Adding WebSocket support…
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 9
… with Kamailio
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
Kamailio websocket module
loadmodule "websocket.so"
…
event_route[xhttp:request] {
set_reply_close();
set_reply_no_connect();
…
if ($hdr(Upgrade)=~"websocket" && $hdr(Connection)=~"Upgrade"
&& $rm=~"GET") {
if (ws_handle_handshake()) {
exit;
}
}
}
10
WebSockets support
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
v=0
o=- 2700277954018656518 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4
m=audio 63529 RTP/SAVPF 111 103 104 0 8 106 105 13 126
c=IN IP4 162.243.255.49
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
11
Gigantic SDP 1/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=rtcp:63529 IN IP4 162.243.255.49
a=candidate:1867667642 1 udp 2122260223 192.168.254.1 58603 typ
host generation 0
a=candidate:1867667642 2 udp 2122260223 192.168.254.1 58603 typ
host generation 0
a=candidate:2448668656 1 udp 2122194687 192.168.142.1 58604 typ
host generation 0
a=candidate:2448668656 2 udp 2122194687 192.168.142.1 58604 typ
host generation 0
12
Gigantic SDP 2/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
a=candidate:882550992 1 udp 2122129151 10.2.129.202 58605 typ host
generation 0
a=candidate:882550992 2 udp 2122129151 10.2.129.202 58605 typ host
generation 0
a=candidate:567387210 1 tcp 1518280447 192.168.254.1 0 typ host
generation 0
a=candidate:567387210 2 tcp 1518280447 192.168.254.1 0 typ host
generation 0
a=candidate:3748678400 1 tcp 1518214911 192.168.142.1 0 typ host
generation 0
a=candidate:3748678400 2 tcp 1518214911 192.168.142.1 0 typ host
generation 0
a=candidate:2048480288 1 tcp 1518149375 10.2.129.202 0 typ host
generation 0
13
Gigantic SDP 3/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
a=candidate:2048480288 2 tcp 1518149375 10.2.129.202 0 typ host
generation 0
a=candidate:3427568147 1 udp 41754367 162.243.255.49 63529 typ relay
raddr 195.110.37.225 rport 48569 generation 0
a=candidate:3427568147 2 udp 41754367 162.243.255.49 63529 typ relay
raddr 195.110.37.225 rport 48569 generation 0
a=ice-ufrag:JuWsZDrjSjaP91bz
a=ice-pwd:QUc3SJ/aJe+FLa658U5y2qJp
a=ice-options:google-ice
a=fingerprint:sha-256
C0:42:EE:16:BF:BD:87:76:A4:0F:F6:A9:48:C8:BA:45:2E:0E:AD:1F:41:AA:
C3:3C:99:45:CA:FE:50:9D:E4:32
a=setup:actpass
a=mid:audio
14
Gigantic SDP 4/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=rtcp-mux
a=maxptime:60
a=ssrc:2566549015 cname:TdImtoO7ee/QmnJN
a=ssrc:2566549015 msid:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4
d7516c7a-7f81-4598-a2e6-aa71b7ceb8db
a=ssrc:2566549015 mslabel:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4
a=ssrc:2566549015 label:d7516c7a-7f81-4598-a2e6-aa71b7ceb8db
m=video 63529 RTP/SAVPF 100 116 117 96
c=IN IP4 162.243.255.49
a=rtpmap:100 VP8/90000
a=rtpmap:116 red/90000
a=rtpmap:117 ulpfec/90000
15
Gigantic SDP 5/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
a=rtpmap:96 rtx/90000
a=fmtp:96 apt=100
a=rtcp:63529 IN IP4 162.243.255.49
a=candidate:1867667642 1 udp 2122260223 192.168.254.1 58603 typ
host generation 0
a=candidate:1867667642 2 udp 2122260223 192.168.254.1 58603 typ
host generation 0
a=candidate:2448668656 1 udp 2122194687 192.168.142.1 58604 typ
host generation 0
a=candidate:2448668656 2 udp 2122194687 192.168.142.1 58604 typ
host generation 0
a=candidate:882550992 1 udp 2122129151 10.2.129.202 58605 typ host
generation 0
a=candidate:882550992 2 udp 2122129151 10.2.129.202 58605 typ host
generation 0
16
Gigantic SDP 6/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
a=candidate:567387210 1 tcp 1518280447 192.168.254.1 0 typ host
generation 0
a=candidate:567387210 2 tcp 1518280447 192.168.254.1 0 typ host
generation 0
a=candidate:3748678400 1 tcp 1518214911 192.168.142.1 0 typ host
generation 0
a=candidate:3748678400 2 tcp 1518214911 192.168.142.1 0 typ host
generation 0
a=candidate:2048480288 1 tcp 1518149375 10.2.129.202 0 typ host
generation 0
a=candidate:2048480288 2 tcp 1518149375 10.2.129.202 0 typ host
generation 0
a=candidate:3427568147 1 udp 41754367 162.243.255.49 63529 typ relay
raddr 195.110.37.225 rport 48569 generation 0
a=candidate:3427568147 2 udp 41754367 162.243.255.49 63529 typ relay
raddr 195.110.37.225 rport 48569 generation 0
17
Gigantic SDP 7/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
a=ice-ufrag:JuWsZDrjSjaP91bz
a=ice-pwd:QUc3SJ/aJe+FLa658U5y2qJp
a=ice-options:google-ice
a=fingerprint:sha-256
C0:42:EE:16:BF:BD:87:76:A4:0F:F6:A9:48:C8:BA:45:2E:0E:AD:1F:41:AA:
C3:3C:99:45:CA:FE:50:9D:E4:32
a=setup:actpass
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=rtcp-mux
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtcp-fb:100 goog-remb
18
Gigantic SDP 8/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
a=ssrc-group:FID 1964375756 3405612694
a=ssrc:1964375756 cname:TdImtoO7ee/QmnJN
a=ssrc:1964375756 msid:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4
fb4cdb67-4167-4f63-a934-fa49977f955a
a=ssrc:1964375756 mslabel:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4
a=ssrc:1964375756 label:fb4cdb67-4167-4f63-a934-fa49977f955a
a=ssrc:3405612694 cname:TdImtoO7ee/QmnJN
a=ssrc:3405612694 msid:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4
fb4cdb67-4167-4f63-a934-fa49977f955a
a=ssrc:3405612694 mslabel:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4
a=ssrc:3405612694 label:fb4cdb67-4167-4f63-a934-fa49977f955a
19
Gigantic SDP 9/10
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 20
Gigantic SDP 10/10
Increase tcp_rd_buf_size!
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
WebRTC/VoIP and WebRTC/PSTN
21
Challenge 2
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
• FreeSWITCH to the rescue
– session:execute("export", "media_webrtc=true")
– session:setVariable("bypass_media", "true")
• Certs for DTLS
– /etc/freeswitch/tls/dtls-srtp.crt
• Transcoding (mod_opus)
– <load module="mod_opus"/>
22
WebRTC/VoIP (and PSTN)
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 23
WebRTC/VoIP - WebRTC/PSTN
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
Authentication
24
Challenge 3
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 25
Ephemeral Authentication
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
Kamailio auth_ephemeral module
loadmodule "auth.so“
loadmodule "auth_ephemeral.so“
…
modparam("auth_ephemeral", "secret", AUTH_EPHEMERAL_SECRET)
…
if (!autheph_proxy("$fd")) {
auth_challenge("$fd", "0");
exit;
}
26
Ephemeral Authentication
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
Media relay for p2p
27
Challenge 4
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
• rfc-5766-turn-server
–Open Source
–Easy to set up (e.g. Puppet)
–Ephemeral auth. applies here too!
• JsSIP configuration easy:
– turn_servers: { urls: [“turn:myturn.com”],
username: “u”, credentials: “c”}
28
Media relay (TURN + STUN)
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 29
Media relay (TURN + STUN)
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
Testing
30
Challenge 5
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
• From sipp & PJSUA to… Selenium?
• Chrome and FF change
–A lot
–Often
• JsSIP master vs develop (re-INVITEs)
• FreeSWITCH 1.5 or 1.4?
31
5. Testing
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
Dealing with Web Developers 
32
Bonus challenge
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
• Different tools/processes
• Bleeding edge libs/apps
• Automating deployment of non-stock apps?
• Don’t care about signalling/media
33
Web Development
© 2014 Truphone Limited. All Rights Reserved.05 August 2014 34
findable.io
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
• Big shift to web technologies
• No need to revolutionize your VoIP platform
• SIP can do the job, but…
–verto endpoint for FreeSWITCH?
• (Automated) Testing is hard
• chrome://webrtc-internals is cool
35
Wrapping up
© 2014 Truphone Limited. All Rights Reserved.05 August 2014
Q&A
Giacomo Vacca - @giavac
labs@truphone.com
https://labs.truphone.com/about/
36

More Related Content

What's hot

Janus/SIP @ OpenSIPS 2019
Janus/SIP @ OpenSIPS 2019Janus/SIP @ OpenSIPS 2019
Janus/SIP @ OpenSIPS 2019Lorenzo Miniero
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sChien Cheng Wu
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingJoe Huang
 
List of usernames and passwords for Huawei routers
List of usernames and passwords for Huawei routersList of usernames and passwords for Huawei routers
List of usernames and passwords for Huawei routersHuanetwork
 
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015DevOpsDays Tel Aviv
 
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDScaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDLorenzo Miniero
 
VMware vSphere technical presentation
VMware vSphere technical presentationVMware vSphere technical presentation
VMware vSphere technical presentationaleyeldean
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingHossein Yavari
 
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Lorenzo Miniero
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with AnsibleRayed Alrashed
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
 
NETWORKERS HOME Cisco UCS PPT .
NETWORKERS HOME Cisco UCS PPT .NETWORKERS HOME Cisco UCS PPT .
NETWORKERS HOME Cisco UCS PPT .networkershome
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker, Inc.
 
Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack Romana Project
 
Getting started with SIP Express Media Server SIP app server and SBC - workshop
Getting started with SIP Express Media Server SIP app server and SBC - workshopGetting started with SIP Express Media Server SIP app server and SBC - workshop
Getting started with SIP Express Media Server SIP app server and SBC - workshopstefansayer
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Giacomo Vacca
 
OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with MicrosoftOpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with MicrosoftIan Choi
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...Alex Cachia
 

What's hot (20)

Understanding SASE
Understanding SASE Understanding SASE
Understanding SASE
 
Janus/SIP @ OpenSIPS 2019
Janus/SIP @ OpenSIPS 2019Janus/SIP @ OpenSIPS 2019
Janus/SIP @ OpenSIPS 2019
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
 
List of usernames and passwords for Huawei routers
List of usernames and passwords for Huawei routersList of usernames and passwords for Huawei routers
List of usernames and passwords for Huawei routers
 
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
 
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDScaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
 
VMware vSphere technical presentation
VMware vSphere technical presentationVMware vSphere technical presentation
VMware vSphere technical presentation
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media Forking
 
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
 
NETWORKERS HOME Cisco UCS PPT .
NETWORKERS HOME Cisco UCS PPT .NETWORKERS HOME Cisco UCS PPT .
NETWORKERS HOME Cisco UCS PPT .
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data plane
 
Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack Routed Provider Networks on OpenStack
Routed Provider Networks on OpenStack
 
Getting started with SIP Express Media Server SIP app server and SBC - workshop
Getting started with SIP Express Media Server SIP app server and SBC - workshopGetting started with SIP Express Media Server SIP app server and SBC - workshop
Getting started with SIP Express Media Server SIP app server and SBC - workshop
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with MicrosoftOpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
 

Viewers also liked

KazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo ScalabilityKazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo Scalability2600Hz
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and KamailioGiacomo Vacca
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)Victor Pascual Ávila
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationGiacomo Vacca
 
KazooCon 2014 - Playing Kazoo Dudka Style
KazooCon 2014 - Playing Kazoo Dudka StyleKazooCon 2014 - Playing Kazoo Dudka Style
KazooCon 2014 - Playing Kazoo Dudka Style2600Hz
 
2600Hz - Telecom Rating and Limits
2600Hz - Telecom Rating and Limits2600Hz - Telecom Rating and Limits
2600Hz - Telecom Rating and Limits2600Hz
 
Kamailio and VoIP Wild World
Kamailio and VoIP Wild WorldKamailio and VoIP Wild World
Kamailio and VoIP Wild World2600Hz
 
SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 2015SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 20152600Hz
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz
 
2600Hz - Billing Data with Kazoo
2600Hz - Billing Data with Kazoo2600Hz - Billing Data with Kazoo
2600Hz - Billing Data with Kazoo2600Hz
 

Viewers also liked (11)

Provisioning Q and A
Provisioning Q and AProvisioning Q and A
Provisioning Q and A
 
KazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo ScalabilityKazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo Scalability
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
KazooCon 2014 - Playing Kazoo Dudka Style
KazooCon 2014 - Playing Kazoo Dudka StyleKazooCon 2014 - Playing Kazoo Dudka Style
KazooCon 2014 - Playing Kazoo Dudka Style
 
2600Hz - Telecom Rating and Limits
2600Hz - Telecom Rating and Limits2600Hz - Telecom Rating and Limits
2600Hz - Telecom Rating and Limits
 
Kamailio and VoIP Wild World
Kamailio and VoIP Wild WorldKamailio and VoIP Wild World
Kamailio and VoIP Wild World
 
SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 2015SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 2015
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
 
2600Hz - Billing Data with Kazoo
2600Hz - Billing Data with Kazoo2600Hz - Billing Data with Kazoo
2600Hz - Billing Data with Kazoo
 

Similar to Top 5 Challenges to Add Web Calls to Truphone VoIP Platform

WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
Clarification material for morocco nis frame bidding 2014 v102
Clarification material for morocco nis frame bidding 2014 v102Clarification material for morocco nis frame bidding 2014 v102
Clarification material for morocco nis frame bidding 2014 v102Lahcen Lahmid
 
Anguruwathota [wb klt-2106]-umts2100 swap site ssv report_v2.0
Anguruwathota [wb klt-2106]-umts2100 swap site ssv report_v2.0Anguruwathota [wb klt-2106]-umts2100 swap site ssv report_v2.0
Anguruwathota [wb klt-2106]-umts2100 swap site ssv report_v2.0Yasas Anuradha
 
K8s上の containerized cloud foundryとcontainerized open stackをprometheusで監視してみる
K8s上の containerized cloud foundryとcontainerized open stackをprometheusで監視してみるK8s上の containerized cloud foundryとcontainerized open stackをprometheusで監視してみる
K8s上の containerized cloud foundryとcontainerized open stackをprometheusで監視してみるJUNICHI YOSHISE
 
Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks Support Docs: VNS3 Trend Micro Agent Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks Support Docs: VNS3 Trend Micro Agent Cohesive Networks
 
phan phoi airlive camera
phan phoi airlive cameraphan phoi airlive camera
phan phoi airlive cameractyccck
 
Prevent ssh-tunneling
Prevent ssh-tunnelingPrevent ssh-tunneling
Prevent ssh-tunnelingYudi Arijanto
 
How to prevent ssh-tunneling using Palo Alto Networks NGFW
How to prevent ssh-tunneling using Palo Alto Networks NGFWHow to prevent ssh-tunneling using Palo Alto Networks NGFW
How to prevent ssh-tunneling using Palo Alto Networks NGFWYudi Arijanto
 
SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)Serena Software
 
AutoIP -A mechanism for IPv6 migration and IPv4 sunsetting by Shishio Tsuchiy...
AutoIP -A mechanism for IPv6 migration and IPv4 sunsetting by Shishio Tsuchiy...AutoIP -A mechanism for IPv6 migration and IPv4 sunsetting by Shishio Tsuchiy...
AutoIP -A mechanism for IPv6 migration and IPv4 sunsetting by Shishio Tsuchiy...APNIC
 
HITCON 2015: Your Lightbulb Is Not Hacking You: Observation from a Honeypot B...
HITCON 2015: Your Lightbulb Is Not Hacking You: Observation from a Honeypot B...HITCON 2015: Your Lightbulb Is Not Hacking You: Observation from a Honeypot B...
HITCON 2015: Your Lightbulb Is Not Hacking You: Observation from a Honeypot B...Philippe Lin
 
Autoscaling Cloud Foundry with BOSH (Cloud Foundry Summit 2014)
Autoscaling Cloud Foundry with BOSH (Cloud Foundry Summit 2014)Autoscaling Cloud Foundry with BOSH (Cloud Foundry Summit 2014)
Autoscaling Cloud Foundry with BOSH (Cloud Foundry Summit 2014)VMware Tanzu
 
Automated SDTM Creation and Discrepancy Detection Jobs: The Numbers Tell The ...
Automated SDTM Creation and Discrepancy Detection Jobs: The Numbers Tell The ...Automated SDTM Creation and Discrepancy Detection Jobs: The Numbers Tell The ...
Automated SDTM Creation and Discrepancy Detection Jobs: The Numbers Tell The ...SGS
 
Ficstar Software: Cassandra Installation to Optimization
Ficstar Software: Cassandra Installation to OptimizationFicstar Software: Cassandra Installation to Optimization
Ficstar Software: Cassandra Installation to OptimizationDataStax Academy
 
SIP Pap2 T Sip 1 SETTING
SIP Pap2 T Sip 1 SETTINGSIP Pap2 T Sip 1 SETTING
SIP Pap2 T Sip 1 SETTINGakbar2266778899
 
June 2004 IPv6 – Hands on
June 2004 IPv6 – Hands on June 2004 IPv6 – Hands on
June 2004 IPv6 – Hands on Videoguy
 

Similar to Top 5 Challenges to Add Web Calls to Truphone VoIP Platform (20)

WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
Network Security Best Practice (BCP38 & 140)
Network Security Best Practice (BCP38 & 140) Network Security Best Practice (BCP38 & 140)
Network Security Best Practice (BCP38 & 140)
 
Clarification material for morocco nis frame bidding 2014 v102
Clarification material for morocco nis frame bidding 2014 v102Clarification material for morocco nis frame bidding 2014 v102
Clarification material for morocco nis frame bidding 2014 v102
 
Anguruwathota [wb klt-2106]-umts2100 swap site ssv report_v2.0
Anguruwathota [wb klt-2106]-umts2100 swap site ssv report_v2.0Anguruwathota [wb klt-2106]-umts2100 swap site ssv report_v2.0
Anguruwathota [wb klt-2106]-umts2100 swap site ssv report_v2.0
 
K8s上の containerized cloud foundryとcontainerized open stackをprometheusで監視してみる
K8s上の containerized cloud foundryとcontainerized open stackをprometheusで監視してみるK8s上の containerized cloud foundryとcontainerized open stackをprometheusで監視してみる
K8s上の containerized cloud foundryとcontainerized open stackをprometheusで監視してみる
 
Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks Support Docs: VNS3 Trend Micro Agent Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks Support Docs: VNS3 Trend Micro Agent
 
The Self-Contained SDR Satellite Grand Station with Raspberry Pi 3
The Self-Contained SDR Satellite Grand Station with Raspberry Pi 3The Self-Contained SDR Satellite Grand Station with Raspberry Pi 3
The Self-Contained SDR Satellite Grand Station with Raspberry Pi 3
 
phan phoi airlive camera
phan phoi airlive cameraphan phoi airlive camera
phan phoi airlive camera
 
Prevent ssh-tunneling
Prevent ssh-tunnelingPrevent ssh-tunneling
Prevent ssh-tunneling
 
How to prevent ssh-tunneling using Palo Alto Networks NGFW
How to prevent ssh-tunneling using Palo Alto Networks NGFWHow to prevent ssh-tunneling using Palo Alto Networks NGFW
How to prevent ssh-tunneling using Palo Alto Networks NGFW
 
SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)
 
AutoIP -A mechanism for IPv6 migration and IPv4 sunsetting by Shishio Tsuchiy...
AutoIP -A mechanism for IPv6 migration and IPv4 sunsetting by Shishio Tsuchiy...AutoIP -A mechanism for IPv6 migration and IPv4 sunsetting by Shishio Tsuchiy...
AutoIP -A mechanism for IPv6 migration and IPv4 sunsetting by Shishio Tsuchiy...
 
HITCON 2015: Your Lightbulb Is Not Hacking You: Observation from a Honeypot B...
HITCON 2015: Your Lightbulb Is Not Hacking You: Observation from a Honeypot B...HITCON 2015: Your Lightbulb Is Not Hacking You: Observation from a Honeypot B...
HITCON 2015: Your Lightbulb Is Not Hacking You: Observation from a Honeypot B...
 
Autoscaling Cloud Foundry with BOSH (Cloud Foundry Summit 2014)
Autoscaling Cloud Foundry with BOSH (Cloud Foundry Summit 2014)Autoscaling Cloud Foundry with BOSH (Cloud Foundry Summit 2014)
Autoscaling Cloud Foundry with BOSH (Cloud Foundry Summit 2014)
 
CPU
CPUCPU
CPU
 
Automated SDTM Creation and Discrepancy Detection Jobs: The Numbers Tell The ...
Automated SDTM Creation and Discrepancy Detection Jobs: The Numbers Tell The ...Automated SDTM Creation and Discrepancy Detection Jobs: The Numbers Tell The ...
Automated SDTM Creation and Discrepancy Detection Jobs: The Numbers Tell The ...
 
Ficstar Software: Cassandra Installation to Optimization
Ficstar Software: Cassandra Installation to OptimizationFicstar Software: Cassandra Installation to Optimization
Ficstar Software: Cassandra Installation to Optimization
 
SIP Pap2 T Sip 1 SETTING
SIP Pap2 T Sip 1 SETTINGSIP Pap2 T Sip 1 SETTING
SIP Pap2 T Sip 1 SETTING
 
Verilog lab mauual
Verilog lab mauualVerilog lab mauual
Verilog lab mauual
 
June 2004 IPv6 – Hands on
June 2004 IPv6 – Hands on June 2004 IPv6 – Hands on
June 2004 IPv6 – Hands on
 

More from Giacomo Vacca

Modern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresModern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresGiacomo Vacca
 
Modern VoIP in Modern Infrastructures
Modern VoIP in Modern InfrastructuresModern VoIP in Modern Infrastructures
Modern VoIP in Modern InfrastructuresGiacomo Vacca
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsGiacomo Vacca
 
Kamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-testsKamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-testsGiacomo Vacca
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTCGiacomo Vacca
 
Docker - From Walking To Running
Docker - From Walking To RunningDocker - From Walking To Running
Docker - From Walking To RunningGiacomo Vacca
 
Automatic Kamailio Deployments With Puppet
Automatic Kamailio Deployments With PuppetAutomatic Kamailio Deployments With Puppet
Automatic Kamailio Deployments With PuppetGiacomo Vacca
 

More from Giacomo Vacca (10)

STUN protocol
STUN protocolSTUN protocol
STUN protocol
 
Modern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresModern VoIP in modern infrastructures
Modern VoIP in modern infrastructures
 
RIPP Notes
RIPP NotesRIPP Notes
RIPP Notes
 
Modern VoIP in Modern Infrastructures
Modern VoIP in Modern InfrastructuresModern VoIP in Modern Infrastructures
Modern VoIP in Modern Infrastructures
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
 
Kamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-testsKamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-tests
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 
Docker - From Walking To Running
Docker - From Walking To RunningDocker - From Walking To Running
Docker - From Walking To Running
 
Docker From Scratch
Docker From ScratchDocker From Scratch
Docker From Scratch
 
Automatic Kamailio Deployments With Puppet
Automatic Kamailio Deployments With PuppetAutomatic Kamailio Deployments With Puppet
Automatic Kamailio Deployments With Puppet
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 

Top 5 Challenges to Add Web Calls to Truphone VoIP Platform

  • 1. Top 5 Challenges to Add Web Calls to Truphone VoIP Platform Giacomo Vacca Senior Network Applications Developer
  • 2. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 labs.truphone.com 2
  • 3. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 3 WebRTC is not for VoIP devs
  • 4. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 4 The “Traditional Architecture”
  • 5. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 • Follow standards • Use Open Source products • Think scalability since the beginning • Don’t compromise on security • Change often, keep technical debt low • Deploy automatically 5 Design Principles
  • 6. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 • JS client (JsSIP-based) • WebSockets • Authentication • Media relay for p2p sessions • FreeSWITCH out of the media path • Web/VoIP/PSTN interaction –Support for DTLS 6 Changes Required
  • 7. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 Websocket support 7 Challenge 1
  • 8. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 8 Adding WebSocket support…
  • 9. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 9 … with Kamailio
  • 10. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 Kamailio websocket module loadmodule "websocket.so" … event_route[xhttp:request] { set_reply_close(); set_reply_no_connect(); … if ($hdr(Upgrade)=~"websocket" && $hdr(Connection)=~"Upgrade" && $rm=~"GET") { if (ws_handle_handshake()) { exit; } } } 10 WebSockets support
  • 11. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 v=0 o=- 2700277954018656518 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio video a=msid-semantic: WMS e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4 m=audio 63529 RTP/SAVPF 111 103 104 0 8 106 105 13 126 c=IN IP4 162.243.255.49 a=rtpmap:111 opus/48000/2 a=fmtp:111 minptime=10 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 11 Gigantic SDP 1/10
  • 12. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:126 telephone-event/8000 a=rtcp:63529 IN IP4 162.243.255.49 a=candidate:1867667642 1 udp 2122260223 192.168.254.1 58603 typ host generation 0 a=candidate:1867667642 2 udp 2122260223 192.168.254.1 58603 typ host generation 0 a=candidate:2448668656 1 udp 2122194687 192.168.142.1 58604 typ host generation 0 a=candidate:2448668656 2 udp 2122194687 192.168.142.1 58604 typ host generation 0 12 Gigantic SDP 2/10
  • 13. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 a=candidate:882550992 1 udp 2122129151 10.2.129.202 58605 typ host generation 0 a=candidate:882550992 2 udp 2122129151 10.2.129.202 58605 typ host generation 0 a=candidate:567387210 1 tcp 1518280447 192.168.254.1 0 typ host generation 0 a=candidate:567387210 2 tcp 1518280447 192.168.254.1 0 typ host generation 0 a=candidate:3748678400 1 tcp 1518214911 192.168.142.1 0 typ host generation 0 a=candidate:3748678400 2 tcp 1518214911 192.168.142.1 0 typ host generation 0 a=candidate:2048480288 1 tcp 1518149375 10.2.129.202 0 typ host generation 0 13 Gigantic SDP 3/10
  • 14. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 a=candidate:2048480288 2 tcp 1518149375 10.2.129.202 0 typ host generation 0 a=candidate:3427568147 1 udp 41754367 162.243.255.49 63529 typ relay raddr 195.110.37.225 rport 48569 generation 0 a=candidate:3427568147 2 udp 41754367 162.243.255.49 63529 typ relay raddr 195.110.37.225 rport 48569 generation 0 a=ice-ufrag:JuWsZDrjSjaP91bz a=ice-pwd:QUc3SJ/aJe+FLa658U5y2qJp a=ice-options:google-ice a=fingerprint:sha-256 C0:42:EE:16:BF:BD:87:76:A4:0F:F6:A9:48:C8:BA:45:2E:0E:AD:1F:41:AA: C3:3C:99:45:CA:FE:50:9D:E4:32 a=setup:actpass a=mid:audio 14 Gigantic SDP 4/10
  • 15. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=rtcp-mux a=maxptime:60 a=ssrc:2566549015 cname:TdImtoO7ee/QmnJN a=ssrc:2566549015 msid:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4 d7516c7a-7f81-4598-a2e6-aa71b7ceb8db a=ssrc:2566549015 mslabel:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4 a=ssrc:2566549015 label:d7516c7a-7f81-4598-a2e6-aa71b7ceb8db m=video 63529 RTP/SAVPF 100 116 117 96 c=IN IP4 162.243.255.49 a=rtpmap:100 VP8/90000 a=rtpmap:116 red/90000 a=rtpmap:117 ulpfec/90000 15 Gigantic SDP 5/10
  • 16. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 a=rtpmap:96 rtx/90000 a=fmtp:96 apt=100 a=rtcp:63529 IN IP4 162.243.255.49 a=candidate:1867667642 1 udp 2122260223 192.168.254.1 58603 typ host generation 0 a=candidate:1867667642 2 udp 2122260223 192.168.254.1 58603 typ host generation 0 a=candidate:2448668656 1 udp 2122194687 192.168.142.1 58604 typ host generation 0 a=candidate:2448668656 2 udp 2122194687 192.168.142.1 58604 typ host generation 0 a=candidate:882550992 1 udp 2122129151 10.2.129.202 58605 typ host generation 0 a=candidate:882550992 2 udp 2122129151 10.2.129.202 58605 typ host generation 0 16 Gigantic SDP 6/10
  • 17. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 a=candidate:567387210 1 tcp 1518280447 192.168.254.1 0 typ host generation 0 a=candidate:567387210 2 tcp 1518280447 192.168.254.1 0 typ host generation 0 a=candidate:3748678400 1 tcp 1518214911 192.168.142.1 0 typ host generation 0 a=candidate:3748678400 2 tcp 1518214911 192.168.142.1 0 typ host generation 0 a=candidate:2048480288 1 tcp 1518149375 10.2.129.202 0 typ host generation 0 a=candidate:2048480288 2 tcp 1518149375 10.2.129.202 0 typ host generation 0 a=candidate:3427568147 1 udp 41754367 162.243.255.49 63529 typ relay raddr 195.110.37.225 rport 48569 generation 0 a=candidate:3427568147 2 udp 41754367 162.243.255.49 63529 typ relay raddr 195.110.37.225 rport 48569 generation 0 17 Gigantic SDP 7/10
  • 18. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 a=ice-ufrag:JuWsZDrjSjaP91bz a=ice-pwd:QUc3SJ/aJe+FLa658U5y2qJp a=ice-options:google-ice a=fingerprint:sha-256 C0:42:EE:16:BF:BD:87:76:A4:0F:F6:A9:48:C8:BA:45:2E:0E:AD:1F:41:AA: C3:3C:99:45:CA:FE:50:9D:E4:32 a=setup:actpass a=mid:video a=extmap:2 urn:ietf:params:rtp-hdrext:toffset a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=rtcp-mux a=rtcp-fb:100 ccm fir a=rtcp-fb:100 nack a=rtcp-fb:100 nack pli a=rtcp-fb:100 goog-remb 18 Gigantic SDP 8/10
  • 19. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 a=ssrc-group:FID 1964375756 3405612694 a=ssrc:1964375756 cname:TdImtoO7ee/QmnJN a=ssrc:1964375756 msid:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4 fb4cdb67-4167-4f63-a934-fa49977f955a a=ssrc:1964375756 mslabel:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4 a=ssrc:1964375756 label:fb4cdb67-4167-4f63-a934-fa49977f955a a=ssrc:3405612694 cname:TdImtoO7ee/QmnJN a=ssrc:3405612694 msid:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4 fb4cdb67-4167-4f63-a934-fa49977f955a a=ssrc:3405612694 mslabel:e8hFvtt1SQ9FiqpbYbOhN19wvpp21flszxZ4 a=ssrc:3405612694 label:fb4cdb67-4167-4f63-a934-fa49977f955a 19 Gigantic SDP 9/10
  • 20. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 20 Gigantic SDP 10/10 Increase tcp_rd_buf_size!
  • 21. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 WebRTC/VoIP and WebRTC/PSTN 21 Challenge 2
  • 22. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 • FreeSWITCH to the rescue – session:execute("export", "media_webrtc=true") – session:setVariable("bypass_media", "true") • Certs for DTLS – /etc/freeswitch/tls/dtls-srtp.crt • Transcoding (mod_opus) – <load module="mod_opus"/> 22 WebRTC/VoIP (and PSTN)
  • 23. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 23 WebRTC/VoIP - WebRTC/PSTN
  • 24. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 Authentication 24 Challenge 3
  • 25. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 25 Ephemeral Authentication
  • 26. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 Kamailio auth_ephemeral module loadmodule "auth.so“ loadmodule "auth_ephemeral.so“ … modparam("auth_ephemeral", "secret", AUTH_EPHEMERAL_SECRET) … if (!autheph_proxy("$fd")) { auth_challenge("$fd", "0"); exit; } 26 Ephemeral Authentication
  • 27. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 Media relay for p2p 27 Challenge 4
  • 28. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 • rfc-5766-turn-server –Open Source –Easy to set up (e.g. Puppet) –Ephemeral auth. applies here too! • JsSIP configuration easy: – turn_servers: { urls: [“turn:myturn.com”], username: “u”, credentials: “c”} 28 Media relay (TURN + STUN)
  • 29. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 29 Media relay (TURN + STUN)
  • 30. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 Testing 30 Challenge 5
  • 31. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 • From sipp & PJSUA to… Selenium? • Chrome and FF change –A lot –Often • JsSIP master vs develop (re-INVITEs) • FreeSWITCH 1.5 or 1.4? 31 5. Testing
  • 32. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 Dealing with Web Developers  32 Bonus challenge
  • 33. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 • Different tools/processes • Bleeding edge libs/apps • Automating deployment of non-stock apps? • Don’t care about signalling/media 33 Web Development
  • 34. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 34 findable.io
  • 35. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 • Big shift to web technologies • No need to revolutionize your VoIP platform • SIP can do the job, but… –verto endpoint for FreeSWITCH? • (Automated) Testing is hard • chrome://webrtc-internals is cool 35 Wrapping up
  • 36. © 2014 Truphone Limited. All Rights Reserved.05 August 2014 Q&A Giacomo Vacca - @giavac labs@truphone.com https://labs.truphone.com/about/ 36