Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan...
Transcript of Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan...
![Page 1: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/1.jpg)
Architecture of Asterisk 13
Matt Jordan@mattcjordan
Director of Technology, Digium
![Page 2: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/2.jpg)
2Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Why this talk?
Asterisk 12– New SIP stack– New APIs– New Core
![Page 3: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/3.jpg)
3Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Why this talk?
Asterisk 12– New SIP stack– New APIs– New Core
Kamailio World:– 2014 - Asterisk's PJSIP stack– 2015 - Asterisk APIs/ARI
![Page 4: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/4.jpg)
4Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Why this talk?
Asterisk 12– New SIP stack– New APIs– New Core
Kamailio World:– 2014 - Asterisk's PJSIP stack– 2015 - Asterisk APIs/ARI
Let's talk about C APIs!
![Page 5: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/5.jpg)
5Creative Innovation – Customer Satisfaction – Continual Quality Improvement
![Page 6: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/6.jpg)
6Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Bridging!
![Page 7: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/7.jpg)
7Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The ProblemOr: How to justify to your employers spending 10 man years on something you hope your end users never
notice
![Page 8: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/8.jpg)
8Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Problem
Asterisk– Parallelism achieved through multithreading– “Conservative” threading model
One thread per “call” Thread services both inbound and outbound
channels
![Page 9: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/9.jpg)
9Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Problem
Asterisk– Parallelism achieved through multithreading– “Conservative” threading model
One thread per “call” Thread services both inbound and outbound
channels
Problem: How do you move channels out of a call?– Transfers– Externally initiated redirects– Parking– Call pickup
![Page 10: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/10.jpg)
10Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt sip_pvt
SIP/foo-00000001ast_channel
SIP/bar-00000002ast_channel
PBX Thread
SIP Monitor Thread
![Page 11: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/11.jpg)
11Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt sip_pvt
SIP/foo-00000001ast_channel
SIP/bar-00000002ast_channel
PBX Thread
SIP Monitor Thread
![Page 12: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/12.jpg)
12Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt sip_pvt
SIP/foo-00000001ast_channel
SIP/bar-00000002ast_channel
PBX Thread
SIP Monitor Thread
SIP/bar-00000003ast_channel
![Page 13: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/13.jpg)
13Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt sip_pvt
SIP/foo-00000001ast_channel
SIP/bar-00000002ast_channel
PBX Thread
SIP Monitor Thread
SIP/bar-00000003<Masq>ast_channel
![Page 14: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/14.jpg)
14Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt sip_pvt
SIP/foo-00000001ast_channel
SIP/bar-00000002<Zombie>ast_channel
PBX Thread
SIP Monitor Thread
SIP/bar-00000003<Masq>ast_channel
![Page 15: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/15.jpg)
15Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt sip_pvt
SIP/foo-00000001ast_channel
SIP/bar-00000002<Zombie>ast_channel
PBX Thread
SIP Monitor Thread
SIP/bar-00000002ast_channel
![Page 16: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/16.jpg)
16Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt
SIP/foo-00000001ast_channel
SIP/bar-00000002<Zombie>ast_channel
PBX Thread
SIP Monitor Thread
SIP/bar-00000002ast_channel
sip_pvt
![Page 17: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/17.jpg)
17Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt
SIP/foo-00000001ast_channel
SIP/bar-00000002<Zombie>ast_channel
PBX Thread
SIP Monitor Thread
SIP/bar-00000002ast_channel
sip_pvt
![Page 18: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/18.jpg)
18Creative Innovation – Customer Satisfaction – Continual Quality Improvement
“Solution”: Masquerades!
sip_pvt
SIP/foo-00000001ast_channel
PBX Thread
SIP Monitor Thread
SIP/bar-00000002ast_channel
sip_pvt
PBX Thread
![Page 19: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/19.jpg)
19Creative Innovation – Customer Satisfaction – Continual Quality Improvement
![Page 20: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/20.jpg)
20Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Masquerade Events
Event: NewChannelChannel: SIP/bar00000003
Event: RenameChannel: SIP/bar00000003Newname: SIP/bar00000003<Masq>
Event: RenameChannel: SIP/bar00000002Newname: SIP/bar00000002<Zombie>
Event: RenameChannel: SIP/bar00000003<Masq>Newname: SIP/bar00000002
Event: MasqueradeOriginal: SIP/bar00000002Clone: SIP/bar00000002<Zombie>
![Page 21: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/21.jpg)
21Creative Innovation – Customer Satisfaction – Continual Quality Improvement
![Page 22: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/22.jpg)
22Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Problem: “Bridging”
features::ast_do_bridge
![Page 23: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/23.jpg)
23Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Problem: “Bridging”
features::ast_do_bridge
channel::ast_channel_bridge
![Page 24: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/24.jpg)
24Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Problem: “Bridging”
features::ast_do_bridge
channel::ast_channel_bridge
(chan_sip)::bridge
![Page 25: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/25.jpg)
25Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Problem: “Bridging”
features::ast_do_bridge
channel::ast_channel_bridge
(chan_sip)::bridge
rtp_engine::ast_rtp_instance_bridge
![Page 26: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/26.jpg)
26Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Problem: “Bridging”
features::ast_do_bridge
channel::ast_channel_bridge
(chan_sip)::bridge
rtp_engine::ast_rtp_instance_bridge
(res_rtp_asterisk)::ast_rtp_local_bridge
![Page 27: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/27.jpg)
27Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Problem: “Bridging”
features::ast_do_bridge
channel::ast_channel_bridge
(chan_sip)::bridge
rtp_engine::ast_rtp_instance_bridge
(res_rtp_asterisk)::ast_rtp_local_bridge
DTMF FeaturesCDRCELAMI
![Page 28: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/28.jpg)
28Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Problem: “Bridging”
features::ast_do_bridge
channel::ast_channel_bridge
(chan_sip)::bridge
rtp_engine::ast_rtp_instance_bridge
(res_rtp_asterisk)::ast_rtp_local_bridge
DTMF FeaturesCDRCELAMI
More FeaturesFormat CompatBridge TimersRTP Source
![Page 29: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/29.jpg)
29Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Problem: “Bridging”
features::ast_do_bridge
channel::ast_channel_bridge
(chan_sip)::bridge
rtp_engine::ast_rtp_instance_bridge
(res_rtp_asterisk)::ast_rtp_local_bridge
DTMF FeaturesCDRCELAMI
More FeaturesFormat CompatBridge TimersRTP Source
RTP CompatLocal/Remote
![Page 30: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/30.jpg)
30Creative Innovation – Customer Satisfaction – Continual Quality Improvement
![Page 31: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/31.jpg)
31Creative Innovation – Customer Satisfaction – Continual Quality Improvement
This Is Not Fine
![Page 32: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/32.jpg)
32Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Constraints
Channels must be “stable”– No rename events– No masquerade events– Predictable lifetime
![Page 33: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/33.jpg)
33Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Constraints
Channels must be “stable”– No rename events– No masquerade events– Predictable lifetime
Can't fundamentally change Asterisk's threading model– Asterisk is multithreaded, not multiprocess– The PBX Thread must still service an ast_channel
![Page 34: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/34.jpg)
34Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Constraints
Channels must be “stable”– No rename events– No masquerade events– Predictable lifetime
Can't fundamentally change Asterisk's threading model– Asterisk is multithreaded, not multiprocess– The PBX Thread must still service an ast_channel
Use existing APIs to maximize chance of success– Bridging Framework (1.6.x)– Find places to stop expanding the scope
![Page 35: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/35.jpg)
35Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version I: Bridging as an Object
Or: Let's try a novel approach and use some code we wrote five years ago
![Page 36: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/36.jpg)
36Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Bridging Framework
Bridges are an object– Maintain the state of the call– Have a mixing technology (strategy pattern)
![Page 37: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/37.jpg)
37Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Bridging Framework
Bridges are an object– Maintain the state of the call– Have a mixing technology (strategy pattern)
Mixing strategies– “Simple” - two party, media in the core– “Softmix” - multiparty– “Multiplex” - multiple two party bridges
![Page 38: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/38.jpg)
38Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Bridging Framework
Bridges are an object– Maintain the state of the call– Have a mixing technology (strategy pattern)
Mixing strategies– “Simple” - two party, media in the core– “Softmix” - multiparty– “Multiplex” - multiple two party bridges
![Page 39: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/39.jpg)
39Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Bridging Framework
Bridges are an object– Maintain the state of the call– Have a mixing technology (strategy pattern)
Mixing strategies– “Simple” - two party, media in the core– “Softmix” - multiparty– “Multiplex” - multiple two party bridges
Dedicated thread per channel– Allows channels to gracefully leave a bridge
![Page 40: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/40.jpg)
40Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Bridging Framework
ast_bridge_create – make a new bridge
ast_bridge_join – add a channel to a bridge (blocking)
ast_bridge_impart – add a channel to a bridge (non-blocking)
ast_bridge_merge – merge two bridges together
ast_bridge_move – move a channel from one bridge to another
ast_bridge_transfer_blind – blind transfer a channel to the dialplan
ast_bridge_transfer_attended – perform an attended transfer between two channels
![Page 41: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/41.jpg)
41Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Releasing a Channel
PBX Thread Bridge Thread
PJSIP/foo-00000001 PJSIP/foo-00000002
Bridge 0001
![Page 42: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/42.jpg)
42Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Releasing a Channel
PBX Thread Bridge Thread
PJSIP/foo-00000001 PJSIP/foo-00000002
Bridge 0001
ast_bridge_set_after_goto(pjsip_foo, “default”, “s”, 1);
![Page 43: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/43.jpg)
43Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Releasing a Channel
PBX Thread Bridge Thread
PJSIP/foo-00000001 PJSIP/foo-00000002
Bridge 0001
ast_bridge_set_after_goto(pjsip_foo, “default”, “s”, 1);
(default, s, 1)
![Page 44: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/44.jpg)
44Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Releasing a Channel
PBX Thread Bridge Thread
PJSIP/foo-00000001 PJSIP/foo-00000002
Bridge 0001
ast_bridge_kick(b01, pjsip_foo);
(default, s, 1)
![Page 45: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/45.jpg)
45Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Releasing a Channel
PBX Thread Bridge Thread
PJSIP/foo-00000001 PJSIP/foo-00000002
Bridge 0001
ast_bridge_kick(b01, pjsip_foo);
(default, s, 1)
![Page 46: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/46.jpg)
46Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Releasing a Channel
PBX Thread PBX Thread
PJSIP/foo-00000001 PJSIP/foo-00000002
Bridge 0001
ast_bridge_kick(b01, pjsip_foo);
(default, s, 1)
![Page 47: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/47.jpg)
47Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Releasing a Channel
PBX Thread
PBX Thread
PJSIP/foo-00000001
PJSIP/foo-00000002
Bridge 0001
ast_bridge_kick(b01, pjsip_foo);
(default, s, 1)
![Page 48: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/48.jpg)
48Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Bridging Events
Event: BridgeEnterChannel: PJSIP/foo00000001Bridge: 0001
Event: BridgeEnterChannel: PJSIP/bar00000002Bridge: 0001
Event: BridgeLeaveChannel: PJSIP/bar00000002Bridge: 0001
Event: BridgeLeaveChannel: PJSIP/foo00000001Bridge: 0001
![Page 49: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/49.jpg)
49Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version I
![Page 50: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/50.jpg)
50Creative Innovation – Customer Satisfaction – Continual Quality Improvement
What about Native Bridging?
![Page 51: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/51.jpg)
51Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version II: Native Bridging Modules
Or: Let's not rewrite res_rtp_asterisk just yet
![Page 52: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/52.jpg)
52Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version II
![Page 53: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/53.jpg)
53Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Mixing Strategies
PJSIP-foo joins Simple – 1 channel
![Page 54: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/54.jpg)
54Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Mixing Strategies
PJSIP-foo joins
DAHDI-i1 joins
Simple – 1 channel
Simple – 2 channels
![Page 55: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/55.jpg)
55Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Mixing Strategies
PJSIP-foo joins
DAHDI-i1 joins
PJSIP-yack joins
Simple – 1 channel
Simple – 2 channels
Softmix – 3 channels
![Page 56: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/56.jpg)
56Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Mixing Strategies
PJSIP-foo joins
DAHDI-i1 joins
PJSIP-yack joins
DAHDI-i1 leaves
Simple – 1 channel
Simple – 2 channels
Softmix – 3 channels
Native RTP (local) – 2 channels
![Page 57: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/57.jpg)
57Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Mixing Strategies
PJSIP-foo joins
DAHDI-i1 joins
PJSIP-yack joins
DAHDI-i1 leaves
PJSIP-bar joins
Simple – 1 channel
Simple – 2 channels
Softmix – 3 channels
Native RTP (local) – 2 channels
Softmix – 3 channels
![Page 58: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/58.jpg)
58Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Mixing Strategies
PJSIP-foo joins
DAHDI-i1 joins
PJSIP-yack joins
DAHDI-i1 leaves
PJSIP-bar joins
PJSIP-yack leaves
Simple – 1 channel
Simple – 2 channels
Softmix – 3 channels
Native RTP (local) – 2 channels
Softmix – 3 channels
Native RTP (rmt) – 2 channels
![Page 59: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/59.jpg)
59Creative Innovation – Customer Satisfaction – Continual Quality Improvement
What about Features?
![Page 60: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/60.jpg)
60Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version III: Features
Or: Users like buttons
![Page 61: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/61.jpg)
61Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version III
![Page 62: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/62.jpg)
62Creative Innovation – Customer Satisfaction – Continual Quality Improvement
What about Parking?
![Page 63: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/63.jpg)
63Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version IV: Parking as a Bridge
Or: Hold All the Things
![Page 64: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/64.jpg)
64Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Parking
Create a new bridge mixing technology, 'holding'– Drops all media read from channels– Entertains channels with music, ringing, or white
noise
![Page 65: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/65.jpg)
65Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Parking
Create a new bridge mixing technology, 'holding'– Drops all media read from channels– Entertains channels with music, ringing, or white
noise
Announcements– Channels join either as participant or announcer– Announcer channels broadcast their media to all
participants
![Page 66: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/66.jpg)
66Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Parking
Create a new bridge mixing technology, 'holding'– Drops all media read from channels– Entertains channels with music, ringing, or white
noise
Announcements– Channels join either as participant or announcer– Announcer channels broadcast their media to all
participants
Parking– Park puts channel into holding bridge– Pickup pulls channel from bridge and puts it into a
standard 'mixing' bridge with the pickup-ee
![Page 67: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/67.jpg)
67Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version IV
![Page 68: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/68.jpg)
68Creative Innovation – Customer Satisfaction – Continual Quality Improvement
What about CDRs/CEL/AMI?
![Page 69: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/69.jpg)
69Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version V: StasisOr: If we never charged people money this would be
much easier
![Page 70: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/70.jpg)
70Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Consuming Bridge State
Do not put CDR, CEL, AMI logic back into Bridging Framework
Stasis: Internal pub/sub message bus– Bridge state is published onto bus– AMI, CDR, CEL become consumers of that state
![Page 71: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/71.jpg)
71Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Consuming Bridge State
Stasis
BridgingFramework
AMI CDR CEL
cdr.csv
![Page 72: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/72.jpg)
72Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Consuming Bridge State
Stasis
BridgingFramework
AMI CDR CEL
cdr.csv
Channel pulled from bridge
![Page 73: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/73.jpg)
73Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Consuming Bridge State
Stasis
BridgingFramework
AMI CDR CEL
cdr.csv
Channel pulled from bridge
Publish ast_bridge_snapshot
![Page 74: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/74.jpg)
74Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Consuming Bridge State
Stasis
BridgingFramework
AMI CDR CEL
Channel pulled from bridge
Publish ast_bridge_snapshot
Raise ChannelLeftBridge event
![Page 75: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/75.jpg)
75Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Consuming Bridge State
Stasis
BridgingFramework
AMI CDR CEL
cdr.csv
Channel pulled from bridge
Publish ast_bridge_snapshot
Update state of CDRWrite CDR out to file
![Page 76: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/76.jpg)
76Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Consuming Bridge State
Stasis
BridgingFramework
AMI CDR CEL
Channel pulled from bridge
Publish ast_bridge_snapshot
Write BridgeExitevent to database
![Page 77: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/77.jpg)
77Creative Innovation – Customer Satisfaction – Continual Quality Improvement
What about Local Channel
Optimization?
![Page 78: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/78.jpg)
78Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version VI: Local Channels
Or: Oh Snap.
![Page 79: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/79.jpg)
79Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Optimization: Bridge Swap
PJSIP/foo-00000001 Bridge 0001
PJSIP/bar-00000002
Bridge 0002
Local/omg-00000003;2
Local/omg-00000003;1
![Page 80: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/80.jpg)
80Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Optimization: Bridge Swap
PJSIP/foo-00000001 Bridge 0001
Bridge 0002
Local/omg-00000003;2Local/omg-00000003;1
PJSIP/bar-00000002
![Page 81: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/81.jpg)
81Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Optimization: Bridge Swap
PJSIP/foo-00000001 Bridge 0001
Bridge 0002
Local/omg-00000003;2Local/omg-00000003;1
PJSIP/bar-00000002
![Page 82: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/82.jpg)
82Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Optimization: Bridge Merge
PJSIP/foo-00000001 Bridge 0001
PJSIP/bar-00000002
Bridge 0002
Local/omg-00000003;2
Local/omg-00000003;1
PJSIP/yack-00000004
![Page 83: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/83.jpg)
83Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Optimization: Bridge Merge
PJSIP/foo-00000001
Bridge 0001
PJSIP/bar-00000002
Local/omg-00000003;2
Local/omg-00000003;1
PJSIP/yack-00000004
![Page 84: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/84.jpg)
84Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Optimization: Bridge Merge
PJSIP/foo-00000001
Bridge 0001
PJSIP/bar-00000002
Local/omg-00000003;2
Local/omg-00000003;1
PJSIP/yack-00000004
![Page 85: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/85.jpg)
85Creative Innovation – Customer Satisfaction – Continual Quality Improvement
What happens when a Local
channel merges into ConfBridge?
![Page 86: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/86.jpg)
86Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Version VII: Class Bridges
Or: That's it, I'm taking my ball and going home now.
![Page 87: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/87.jpg)
87Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Class Bridges
Some bridges have application state in addition to their mixing strategy– ConfBridge: marked users, admins, etc.– Parking: which parking lot am I in– Stasis: ARI specific logic to know who controls a
channel– Agent waiting pools: how long has a Queue agent
been waiting for a call
![Page 88: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/88.jpg)
88Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Class Bridges
Some bridges have application state in addition to their mixing strategy– ConfBridge: marked users, admins, etc.– Parking: which parking lot am I in– Stasis: ARI specific logic to know who controls a
channel– Agent waiting pools: how long has a Queue agent
been waiting for a call
Solution: give a bridge a 'class' with callbacks to update their application state
ConfBridge: still prohibited
![Page 89: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/89.jpg)
89Creative Innovation – Customer Satisfaction – Continual Quality Improvement
![Page 90: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/90.jpg)
90Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Big Picture
![Page 91: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/91.jpg)
91Creative Innovation – Customer Satisfaction – Continual Quality Improvement
The Current* Bridging Framework
![Page 92: Architecture of Asterisk 13 - Kamailio · Architecture of Asterisk 13 Matt Jordan @mattcjordan Director of Technology, Digium ... Kamailio World: –2014 - Asterisk's PJSIP stack](https://reader035.fdocuments.us/reader035/viewer/2022062602/5ed6092052ff8c0277343f7e/html5/thumbnails/92.jpg)
92Creative Innovation – Customer Satisfaction – Continual Quality Improvement
Questions?