Skip to content

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!