Asterisk 13.8.0 was just recently released. As usual this release includes bug fixes as well as a few new features. Many of which were submitted and patched by community members and contributors. Many thanks goes out to all those who made this release a success.
As mentioned many items were attended to, but we’ll highlight just a few here. Namely, some of the new features that were added.
The Asterisk pjsip channel driver now has a new option, regcontext. When specified a noop priority 1 extension is dynamically created for a configured endpoint upon registration. It is subsequently removed when the endpoint unregisters. The DUNDi protocol uses this feature to know that a particular peer contains an endpoint based on the fact that the extension exists.
To enable this feature within the Asterisk pjsip sub-sytem simply set the mentioned option in the global section of your ‘pjsip.conf’ file and give it a value that makes sense for your environment:
[global] type=global regcontext=myregistrations
Full Backend Caching
Another feature newly included is a full backend caching strategy for the sorcery memory cache module. Previously the only option allowed was per-object caching. Now however, with full backend caching enabled all objects can be cached. This allows retrievals of all objects to be done against the cache itself without having to pull from the backend. This can be enabled by using the new full_backend_cache option within the sorcery.conf file. Within the configuration file, and for a specified modules object mappings, simply set the option on a type’s cache field. For instance, to turn on full caching for res_pjsip endpoints something similar to the following should be entered into the configuration file:
[res_pjsip] endpoint/cache=memory_cache,maximum_objects=5000,full_backend_cache=yes endpoint=realtime,ps_endpoints
For more information and examples see the Asterisk wiki on on Sorcery Caching.
Lastly another stand out feature is the inclusion of a bundled version pjsip within Asterisk. As this particular addition has been previously discussed see an Easier PJSIP Install Method for a detailed explanation.
Again these items are only some of the highlights. For a detailed list of all the changes that went into this release please see the ChangeLog-13.8.0 or the Changes file included with the Asterisk source code.
Download and try Asterisk 13.8.0 now!
Is it possible to create “real” (instead of noop) extension using regcontext?
No, the functionality is simply there to activate a set of already existing dialplan logic by placing a first priority there. Having it do anything more would require a lot more configuration and complexity.
Could you elaborate more on “activate a set of already existing dialplan logic”? For instance if I have echo-test configured in dialplan – can I call an echo-test number from such dynamically created extension? Or maybe point to an example illustrating use of regcontext= option?
I know it’s a bit late, but i’m setting up asterisk 13.16 and trying to make regcontext to work with DUNDi. I setup it up in pjsip.conf in global section and i can see it in settings in cli:
regcontext : registerstate
However records are not created in dialplan on phone registration and i don’t see this context with dialplan show. Is there something I am missing or it is a bug?
Thank you in advance.
Has the context been declared within “extensions.conf”? For instance, somewhere within your “extensions.conf” file you’ll want to have the following context declared:
If it can’t find the context then it can’t add the extensions to it when the endpoint comes “online/reachable”. Hope that helps!