AstriDevCon 2021 Minutes
Attendance
Ben Ford - Alabama, Sangoma Ast Dev, Stir Shaken!
BJ Weschke - New Jersey, Wonders Corp, 16&18 w/AMI
Daniel Collins - East Tennessee, USAM
Florian Floimair - Austria, Commend, now on 18, wants to know direction
Franck Danard - France, Sangoma FreePBX Dev, PMS
George Joseph - Colorado, Sangoma Ast Dev (wants to know who is using unsupported asterisk!)
Igor Goncharovsky -
James Finstrom - (joined PM)
Jared Smith - (joined PM)
Joran Vinzens - Germany, SIPGate UK - 11&18 w/AMI ARI AGI
Josh Colp - Atlantic Canada, Ast tech lead Sangoma
JP Loh - Philippines, Contractor for an Ontario Business Phones Company
Kevin Harwell - Alabama, Sangoma Ast Dev
Lorenzo Emilitri - Switzerland work from Norway, QueueMetrics, Ast in Contact manager
Lorne Gaetz - Atlantic Canada, Sangoma, Longtime FPBX tinkerer, PM for OSS projects
Malcom Davenport - Alabama, Sangoma PM
Mark Peterson - Denmark, Unicel patching from 1.8->18
Matt Brooks - Alabama, Sangoma, FreePBX and PBXact Cloud
Matt Frederickson - Director OSS, Sangoma
Michael Bradeen - Colorado, Sangoma Ast Dev
Michael Cargile - DialGroup, OS call center app. Moved to pjsip on 16
Michael Young - New Hampshire, Rocky Linux
Pascal Cadotte - Canada, Developer for Wazoo platform, pjsip migration
Sylvain Boily - Quebec City, Wazoo Communication, Developing Unified Communication Platform w/ Ast 18
Torrey Searle - Bandwidth International, Long term user
Walter Moon - Sangoma FreePBX Dev Team, Digium phone apps API
Yitzchak Pachtman - Israel, NY Based IT MSP, Ast & FreePBX for 5 years (Pitzkey)
Lunch set to 12:30 Eastern (90 minutes)
Minutes
10AM - Matt Frederickson, introductions
10:35 - Matt Frederickson, Asterisk 19 Update
13, 17 EOL (shout out 13, 7 years!)
16 & 18 8 bug fix releases
Allowed new features into release branches (must include tests)
Testuite has been key to new releases
9100 posts, 625 new contributors
19 released! 348 reviews, 50 contributors!
Standard Releases, 1 year 1 year
LTS, 4 yrs bug fixes, 1 additional for security
OPENSIPit helped uncover issues in S/S and multiple Auth headers in PJSIP
STIR/SHAKEN support
RSA and ECDSA
X509 support
Fixed issues with certs
Switched to b64 URL encoding
Added Date header
Speech to Text
In the past, added external media support for ARI
New, similar to ARI but with dialplan apps and functions
Allow providers to allow conversion to be done outside of Asterisk
JSON and Websocket based protocol to connect to Asterisk (allows use of SDKs)
Asterisk c Module will provide interaction between translator and dialplan apps
RTCP
Critical for video
Extended test coverage
New tests helped flush out issues
PJSIP transport improvements
Partial reload allowed
Formalized Module Deprecation Policy
Proposal of deprecation to dev mailing list
First removed in standard release, followed by LTS, then previous branches updated
New Wiki page is now definitive
Miscellaneous Fun!
Force video bitrate in ConfBridge
Improved PJSIP registrar logging
OPTIONS now has optional auth
STUN attribute can be disabled
MIN, MAX math
PJSIP_Headers function
App_dial A now allows playing to caller
Originate can set vars on originated channel
Reminders
13&17 EOL
16 LTS
Please move to pjsip, chan sip will not be built in 19 by default!
Keep an eye on the new module and versions wiki!
11AM - Set Agenda
Give update on Policy - Josh
Discuss releases and numbering - George
Moving away from Atlassian - Josh
Codec Handling - Joran
Photo
ConfBridge audio quality - Pascal
Existing in a cloud environment - Josh
DDos - Josh
E911 - MAB
Inbound/Outbound media matching - Florian
Multiple ARI subscriptions / proxy - Joran
Dynamic features in holding bridge - Pitzkey
Timeouts on Stasis applications - Joran
Asterisk 20? - Sylvain
Conference Join announcement options - MC
Chan pjsip retrieve/inject multipart MIME - Torrey
11:15 - J Colp, Project Policy update
Thus far has been organic, not formal
Module Deprecation Policy
Added for Asterisk 19
Occurs on standard releases
Notification in older branches
Update wiki, focus on as much notice as possible
C API Deprecation
Upgrade and release notes
Start on next standard release
New Feature Policy
Only accept features that benefit and can be supported
Denies against modules that are on the way out
Formalizes the testing requirements
Find a balance between user base and reviewers time
Bug Fix / Improvement
Formalizes desire for testing
States that change may be reverted if it causes a regression
Major happens in standard
Test!!!
What other new policies should be added?
“Out of Tree” Modules, package manager?
Good discussion of providing a place for contributions to live without being official
Should we have the option to deny improvements as well?
Is changing a default an improvement?
Could easily come with the same risks
11:50 - G Joseph, Releases and numbering in flight
Going straight to 22?
Tie to year and skip the last few years
Does it help or hurt having multiple LTS?
Picking one branch for review before moving on
LTS reliability?
Is the stability due to LTS or because there were a number of stability improvements that occurred at the same time?
12:10 - Joran, Codec Handling
Where did things land?
Busy year from Sangoma Development
Still in development
E911 deadlines
Is still on the list for development
12:20 - BJ, Question about SWP JIRAs (11321)
12:30 - Break for Lunch
2PM - Taco Talk
2:05 - Pascal, Audio quality issues with confbridge
1on1 Calls Google Chrome was compensating for packet loss
Initial determination is that compensation is usually done on the write side, but this is not possible after it has already been mixed
Jitter buffer would have to be set on the read side, or on the internal write
2:20 - J Colp, Atlassian move
Force of move to cloud, not possible with asterisk community
Trouble tickets and wiki in particular
Possible move to github
Well documented
Makes movement easy
Automated CLA
Gitlab?
Wiki transition will require further research
Question on what to do with old, closed tickets after migration
30K, too many to move, but…
Would be good to still have searching for definitive fixes
How to move open tickets to the new system and have users mapped properly.
Bugzilla, Tuleap, explore other issue trackers
2:40 - J Colp, Working better in a cloud environment
Off system storage (S3?)
Scalable back-end storage
Voicemail, call recording (URL playback&recording), MoH
Could the new Speech methods help stream to off-box (if made sufficiently generic?)
Move to more ARI based solutions
Aggregate threat handling
Is fail2ban enough?
Run kamilio on same host as asterisk
Sharing asterisk database information between clusters
State information is more complicated for a B2BUA than a proxy
Limit over-use of astdb
Distributed provisioning
Mostly higher level
Push configuration (ala pjsip?)
Tools like ansible
Aggregate monitoring
AMI, SIP OPTIONS
Prometheus
Look at bridges, channel counts, playback/recording
Taskprocessor queues, open file handles, open ports
Peers
RTP / RTCP
Error rates
3:30 - 15 minute break
3:45 - M Bradeen, e911
What are the actual requirements?
Pidi flow additional headers (dynamic location in xml)
Jloaction header
NG 112 EU, similar to US
Add a dialplan app to check an IP against a known list and return location information
4PM - Joran, Multiple entities subscribing to an ARI application
Ensure you always hit an application in case the stasis topic is not watched
Load balance or redundancy between registered applications.
4:05 - Yitzchak, Dynamic features in holding bridges (parked call)
Allow a caller to exit park to go to an operator, VM, etc.
Allow dynamic features, such as changing MoH
No DTMF receiver attached
Pull limited Queue functionality into parked calls
4:15 - Yitxchak, controlling MoH from another channel or AMI
FreePBX using chanspy overlays announcement on MoH
Interrupting MoH can be done but then the other periodic announcements get unreliable.
4:20 - Joran, Timeouts on a Stasis application
To prevent a call hanging due to the application hanging.
Prefer to not to have to wait for SIP level timers.
4:40 - J Colp, DDoS
Rate limiting individual accounts
Pjsip global settings can help mitigate, blacklist past certain configurable parameters
Greylist registration, request second registration
Sliding scale of response, bigger fish requires more coverage and cost
5:05 - Sylvan, Asterisk 20(22)?
E911 - pidi flow
Speech to text
Planning to come soon after Astricon
Wish list
Making ARI more robust?
AMR-WB? Other codecs?
MS teams?
5:20 - M Cargile, Pre-join warning to conference (vs post-join)
Alert existing participants before a caller joins
Work-arounds with connecting a local channel ahead of time, but would like to have it as an in-app option.
Patches welcome ;)
ARI all the things
5:25 - Torrey, Adding custom MIME body
Can be adapted from Pidi Flow work
5:30 - ARI ALL THE THINGS
5:35 - Pitzkey final question,
GoSUB loops to validate user
Place outgoing call to user getting variables from previous call
Store in AGI script?
5:50 - Wrap up!