Skip to content

Commit a35daf9

Browse files
bkfordgtjoseph
authored andcommitted
Added AstriDevCon 2024 page.
Contains notes from devcon as well as some photos and other information.
1 parent 54daf2d commit a35daf9

File tree

4 files changed

+137
-0
lines changed

4 files changed

+137
-0
lines changed
5.12 MB
Loading
16.6 MB
Loading
17.4 MB
Loading
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
# AstriDevCon 2024
2+
3+
Sangoma invites developers who are interested in the future of Asterisk to join us at AstriDevCon.
4+
5+
## Event day schedule
6+
7+
8+
AstriDevCon is a mix of open and focused discussion all on topics within the realm of Asterisk development, primarily regarding current concerns that Asterisk faces and how to improve Asterisk for the future. You can also attend remotely via Sangoma Meet.
9+
10+
State of the Project presentation by Josh
11+
12+
Should We Switch / Expand to a New Language by George
13+
14+
Break 11:30 EDT
15+
16+
Lunch 12:10 EDT
17+
18+
Break 1:50 EDT
19+
20+
Notes
21+
22+
* Josh's State of the Project presentation
23+
+ Moved to GitHub in 2023
24+
+ Issue archive: https://issues-archive.asterisk.org
25+
+ Contributer License Agreement (CLA) is now instant
26+
+ Documentation moved and was updated: https://docs.asterisk.org
27+
+ New mailing list: groups.io/g/asterisk-dev
28+
+ CommUnity integration
29+
- AMI and CLI actions / commands to manipulate voicemail mailboxes
30+
+ Media Experience Score (MES) now fully integrated
31+
+ STIR/SHAKEN rewrite
32+
- Uses libjwt
33+
- Refactored tons of code for optimization
34+
- Large amount of new code to account for new and updated specs
35+
+ Lots of miscellaneous fixes and additions - the usual
36+
+ Not on presentation - PJSIP hangup with specific response codes
37+
- Went out in last release, and there's an AMI action for it
38+
- Separate from the normal Hangup application
39+
- changes.md file should have notes on this
40+
+ Asterisk 16 and 19 are end of life
41+
+ chan_sip officially gone in Asterisk 21
42+
* George's Switching from C talk
43+
+ C++ has some nice things like built-in data structures
44+
+ Linux / posix support is a key factor - some languages might not be that great for it
45+
+ Investigate doing new module in C++ (possibly PJSIP?)
46+
+ extern c wrap header files since several don't have this
47+
- Make it happen Josh :)
48+
+ See if there's already a build dependency for C++
49+
* ARI, outgoing connections, https requests over websocket, media over websocket
50+
+ Remote transfer, refers, and NOTIFYs
51+
+ Mailing list to propose an idea for how to handle this and put up a pull request
52+
* Advanced Codec Negotation
53+
+ It would be beneficial to have other people test this
54+
+ https://github.com/asterisk/asterisk/pull/285
55+
* Multi-tenant, subscribing to BLF with a custom context messes up after a couple days on latest 18
56+
+ Like a custom device state
57+
+ After a couple days, the state doesn't change anymore
58+
+ pjsip show inbound subscriptions shows that there is an active subscription, but NOTIFY does not get sent to endpoint
59+
+ Any non-default context
60+
+ core show hints shows correct values
61+
+ Get a debug log!
62+
+ Handlers in PJSIP that deal with NOTIFYs is a good place to look
63+
* Multi-Asterisk queueing
64+
+ CommUnity is experimenting with this, but is not currently used
65+
+ It's easier to do this in ARI
66+
+ Switchvox uses ARI (node.js)
67+
* Blind transfer CDR
68+
+ Consult CDR spec on docs site
69+
+ If the behavior is not matching the spec, file an issue so we can fix it
70+
+ Recommended to use CELs to derive your own CDRs
71+
* ARI SDP channel driver for things like WebRTC applications
72+
+ whip specification
73+
+ Light SDP exchange protocol
74+
* Conference rooms across multiple boxes
75+
+ Having different conference rooms linked together
76+
+ Boxes can talk to each other without double audio and without dropping audio
77+
+ If host goes down or problems occur, how do we handle this?
78+
+ Surprise - ARI is the answer!
79+
+ Have calls between everything with it muted
80+
+ If instance goes down, you can unmute another route
81+
+ Putting the logic in Asterisk itself is difficult, but using outside libraries via ARI simplifies this
82+
* Speech AI engine improvements
83+
+ Locked to one engine at a time
84+
+ If that engine is down or returning erroneous results, you can't really do anything about it easily
85+
+ Loop through engines and feed frames to the engines needs improvement
86+
+ This is in reference to the dialplan function that allows you to specify an engine, so you would be able to pass multiple engines to it and do detection on them simultaneously
87+
+ With the partial option, you can get the result from whichever is fastest
88+
+ This is aimed at doing it purely through dialplan, as opposed to writing an external application to handle it
89+
+ Could this functionality itself be a speech engine? Could it be configured to behave in different ways? Have it do everything behind the scenes and return the unified result
90+
* Separators for things in dialplan (pipes, carrots, etc.)
91+
+ Pipes? Used to separate arguments in dialplan until later changed to commas
92+
+ There are situations where arguments are mixed and use another kind of separator to denote that
93+
+ For example, a pull request for app_dial that uses pipes as a separator, possibly due to age of the application itself and trying to follow how it already handles that situation
94+
* Pause music on hold (MOH) and play announcement (queue callbacks)
95+
+ Having a caller in queue and then attempting to pause the mnusic on hold and play an announcement
96+
+ Originated as a FreePBX issue
97+
+ Manipulate gives you access to the entire frame that's going through
98+
+ Would probably want a separate dialplan application to do this
99+
+ This does not currently exist today
100+
+ Periodic announce is similar to this
101+
+ Depending on where the channel audio is muted, it MIGHT be possible to mute it and whisper in, but this is just speculation
102+
* System metrics for load and things like RTCP, average frame latency
103+
+ Time for a frame to be read and for a frame to be routed back
104+
+ A measure of delay, potential to find problems locally
105+
+ Frame transit probably most optimized, but there could be scheduler backup causing latency issues
106+
+ Things like DNS query times could be good
107+
+ MES has osme of this already
108+
* say.conf for sounds and different languages
109+
+ Digits, numbers, and possibly dates
110+
111+
## Photos
112+
113+
![](AstriDevCon-2024-1.jpg)
114+
![](AstriDevCon-2024-2.jpg)
115+
![](AstriDevCon-2024-3.jpg)
116+
117+
## Recording
118+
119+
There is no recording available this year. We've made it a priority to provide this for future events and to improve quality as much as possible.
120+
121+
## Previous AstriDevCon events
122+
123+
See the below sections for notes and content from previous AstriDevCon events.
124+
125+
* [AstriDevCon 2022](/Development/Roadmap/AstriDevCon-2022)
126+
* [AstriDevCon 2021](/Development/Roadmap/AstriDevCon-2021)
127+
* [AstriDevCon 2020](/Development/Roadmap/AstriDevCon-2020)
128+
* [AstriDevCon 2019](/Development/Roadmap/AstriDevCon-2019)
129+
* [AstriDevCon 2018](/Development/Roadmap/AstriDevCon-2018)
130+
* [AstriDevCon 2017](/Development/Roadmap/AstriDevCon-2017)
131+
* [AstriDevCon 2016](/Development/Roadmap/AstriDevCon-2016)
132+
* [AstriDevCon 2015](/Development/Roadmap/AstriDevCon-2015)
133+
* [AstriDevCon 2014](/Development/Roadmap/AstriDevCon-2014)
134+
* [AstriDevCon 2013](/Development/Roadmap/AstriDevCon-2013)
135+
* [AstriDevCon 2012](/Development/Roadmap/AstriDevCon-2012)
136+
* [AstriDevCon 2011](/Development/Roadmap/AstriDevCon-2011)
137+
* [AstriDevCon 2010](/Development/Roadmap/AstriDevCon-2010)

0 commit comments

Comments
 (0)