```Lua
local Database = require "resources.functions.database"
local dbh = Database.new('system')
--get the domain_uuid
if (domain_uuid == nil) and (domain_name ~= nil) then
local sql = "SELECT domain_uuid FROM v_domains "
sql = sql .. "WHERE domain_name='" .. domain_name .. "';"
domain_uuid = dbh:first_value(sql)
end
local dbh_switch = Database.new('switch') -- check also SQLite file.
local row = dbh_switch:first_row(sql)
if row then
...
end
```
Problem with commands that do not return Content (e.g. sendevent)
In this case `event_socket_request` go to busy wait cycle without chance to success.
On my system it require alot process time and may take >30 sec to save one extension.
You can configure ether you register with UserID=number-alias or UserID=Extension
In both cases to dial user you should use `user/<number-alias>@domain` or `user_data <number-alias>@domain`
Need test setting of presence_id for case when UserID=Extension.
Change. Support register with AuthID==UserID==Extension for extension with number-alias.
1. We need only one record in memcache.
When we get SIP request we can find record by userid.
When we want check AuthID we do `user_data userid@domain attr id`
which also search record by userid.
2. We do not need check AuthID if we get record from DB. There already has check.
So we can reduce number of request to
* if there no record in memcached
- one memcache get (returns not found)
- database auth
- one memcache set
* if record in memcache
- one memcache get to retrieve XML
- one memcache get to check Extension==AuthID
This replaces `inbound-reg-force-matching-username` profile option.
So if your extension has number-alias you can use
UserID=number-alias
AuthID=Extension
It also supports such check on INVITE not only on REGISTER.
Change. Allow transfer and turn on recordings only for authorized users.
Fix. Use record_ext in recording in ring_group.
This allow configure other dtmf sequence like `*#` and `##`