asterisk


Why is dynamic real time not recommended as per asterisk?


In extconfig.conf they have mentioned that
"However, note that using dynamic realtime extensions is not recommended anymore as a best practice; instead, you should consider writing a static dialplan with proper data abstraction via a tool like func_odbc."
1) Why asterisk is not recommending dynamic realtime extensions?
2) How to do static dialplan with data abstraction using tool liek func_odbc?
My requirement is having have more extensions (in this case mobile number) coming up, how can I dynamically add them to sip.conf and get it registered to the SIP server
There are some issues with dynamic realtime
Most important issue is dialplan.
When/if you use EXACT dialplan like full number match - it work ok. But when you use pattern, it search for pattern in context. To do that it request all records in this context from db EVERY time when you access dialplan. That is really bad, but no easy way fix it. For example you have dialplan of 10 lines for pattern _011. and enother patterns/numbers in same dialplan, overal number of lines 1000. You call 011123456788, it request priority 1 line(db do 1000 rows check), after that priority 2(db do 1000 rows check). So you got 10x1000=10000 db rows for EVERY new call.
If you want dynamic dialplan with hi-load, use db config storage (for dialplan change,reload it for example once every 10 minutes) and check in extension/dialplan for features using func_odbc. That way you have much more control over sql query. Sure that require you understand mysql and able build queries, but no other way for any dynamic pbx with more then 10-20 calls.
sippeers realtime is other thing. It have issues with db update with enabled peer update, or not update peer info if cache enabled. You just have live with that.

Related Links

Multiple Incomming calls to free agent
Asterisk incoming message gives: 415 unsupported media type
Forwarding X Headers in Asterisk
Asrterisk 13.4.0 RTC issue
Pass DTMF Variable to Channel as Caller Name
How to log data of a call
How to stay in the queue?
Time between next invite in sipp
Asterisk - Dial between two local phones
Vicidial SIP Trunk with Twilio
Asterisk 13 hangup both SIP channels, when bridge is destroyed
Asterisk channel status
Play record when operator pickup call
When to reload sip
Capture the Reverse Signal in Asterisk
Asterisk 13 SIP SIMPLE messages to CDR

Categories

HOME
kendo-ui
teradata
leaflet
pyspark
readdir
arguments
google-docs-api
ebay
sugarcrm
liquidsoap
install
webpack-dev-server
oxid
webseal
openstack-horizon
virtuemart
project-reactor
novacode-docx
django-rest-auth
formulas
google-drive-android-api
continuous-fourier
akavache
pydub
ballerinalang
formtastic
resx
dynamics-ax-2012-r3
cqlsh
vtd-xml
visual-studio-debugging
slim-lang
imdb
visual-prolog
scene7
oracle-nosql
circle
microstrategy
powerbi-embedded
odp.net
kepserverex
const
queryover
armadillo
ng-lightning
sknode
jquery-ui-slider
quartz
qt-quick
apiman
wufoo
python-venv
synchronized
yank
dcom
openxava
multivalue
appcmd
riemann
aws-rds
zedgraph
scanf
lattice
copy-constructor
universe
methodology
textblob
joomla3.3
transparentproxy
glog
gcc-warning
autopep8
bungeecord
connection-timeout
nexusdb
optimistic-locking
shunting-yard
fiware-health
pysvn
yosemite
pidgin
object-oriented-database
surfaceview
kendo-window
angularjs-select2
codeigniter-form-helper
mysql2
system.transactions
blotter
urlfetch
gpl
antixsslibrary
yii-components
m3u
sup
jqueryi-ui-buttonset
motorola-droid
scsf
capitalization
discussion-board
isgl3d
execjs
gmagick
youtube.net-api
functional-specifications
designated-initializer
response-time
http-response-codes
morfik
time-management
scalable

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App