Вопрос по интеграции Asterisk'а с Active Directory посредством LDAP.Вот что накопано в дебрях документации и на просторах Интернета:
1. extconfig.conf:
sipusers = ldap, "dc=domain,dc=tld",sip
sippeers = ldap, "dc=domain,dc=tld",sip
2. res_ldap.conf
[_general]
url = ldap://domain.tld:3268/
basedn = dc=domain,dc=tld
user = cn=asterisk,ou=Services,dc=domain,dc=tld
pass = ********[sip]
name = sAMAccountName
callerid = cn
mailbox = mail
regexten = ipPhone
host = info
type = facsimileTelephoneNumber
additionalFilter = (objectClass=person)
3. sip.conf
[general]
context = default
regcontext = default
nat = yes
rtcachefriends = yes
rtupdate = no
Примечания:
1. domain.tld - пароли и явки изменены.
2а. Почему-то поиск в LDAP (AD) успешен только при поиске в глобальном каталоге (порт 3268), несмотря на аутентификацию...
2б. В AD в поле "IP phone" - ipPhone указан номер экстеншена, в поле "Notes" - info указано "dynamic", а в поле "Fax" - facsimileTelephoneNumber указано "friend". Умнее ничего пока не придумал...
Результат:
CLI> sip show peers
Name/username Host Dyn Forcerport ACL Port Status Realtime
user/user 192.168.x.y D N 12723 Unmonitored Cached RT
otheruser/otheruser 192.168.x.z D N 5060 Unmonitored Cached RT
Регистрация проходит успешно, но
CLI> dialplan show default
[ Context 'default' created by 'SIP' ]
'1001' => 1. Noop(user) [SIP]
'1002' => 1. Noop(otheruser) [SIP]
Include => 'demo' [pbx_config]
Alt. Switch => 'Realtime/@' [pbx_config]
И, соответсвенно, получаем при звонке с одного экстеншена на другой:
== Using SIP RTP CoS mark 5
-- Executing [1001@default:1] NoOp("SIP/otheruser-0000000c", "user") in new stack
-- Auto fallthrough, channel 'SIP/otheruser-0000000c' status is 'UNKNOWN'
Собственно вопрос - как добиться нормальных звонков с/на такие экстеншены?
P.S. Пример рабочего экстеншена, созданный TrixBox'ом (dialplan show):
'1001' => hint: SIP/1001&Custom:DND1001 [pbx_config]
1. Macro(exten-vm,novm,1001) [pbx_config]
2. Goto(${IVR_CONTEXT},return,1) [pbx_config]
'user' => 1. Goto(from-internal,1001,1) [pbx_config]
Т.е. экстеншены, создаваемые res_ldap'ом тоже должны иметь "Macro(exten-vm,novm,1001)"