Skip to end of metadata
Go to start of metadata

AstriDevCon 2021 Minutes


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)


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


    • 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: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!

  • No labels