本檔案將說明輕量型目錄存取通訊協定(LDAP)在Cisco Unified Attendant Console(CUAC)和Microsoft Active Directory(AD)之間運作的方式,以及整合兩個系統時使用的程式。
思科建議您瞭解以下主題:
本檔案中的資訊是根據CUAC 10.x版。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
在早期的CUAC版本中,伺服器通過預定義的查詢和過濾器直接從Cisco Unified Communications Manager(CUCM)獲取使用者。通過CUAC高級版(CUACPE),管理員可以直接從AD整合和匯入使用者。這樣,管理員就可以靈活地實施他們自己選擇和要求的屬性和過濾器。
完成以下步驟,以便將CUAC與AD整合並從AD匯入使用者:
以下是CUAC和AD之間的LDAP進程的摘要:
以下是說明這些步驟的監聽器擷取:
完成CUAC上的配置並重新啟動LDAP外掛後,CUAC伺服器會與AD建立TCP會話。
CUAC然後傳送BIND請求以便向AD伺服器進行身份驗證。如果驗證成功,AD會向CUAC傳送BIND Success響應。這樣,兩台伺服器都會嘗試在埠389上設定會話,以同步使用者及其資訊。
以下是伺服器上用於定義BIND事務中身份驗證的可分辨名稱的配置:
這些訊息會顯示在封包擷取中:
成功繫結後,伺服器會向AD傳送SEARCH請求以匯入使用者。此SEARCH請求包含AD使用的過濾器和屬性。然後,AD在定義的搜尋庫(如在SEARCH請求消息中詳述)內搜尋使用者,其滿足過濾器和屬性驗證中的標準。
以下是CUCM傳送的SEARCH請求示例:
Lightweight Directory Access Protocol
LDAPMessage searchRequest(2) "dc=aloksin,dc=lab" wholeSubtree
messageID: 2
protocolOp: searchRequest (3)
searchRequest
baseObject: dc=aloksin,dc=lab
scope: wholeSubtree (2)
derefAliases: derefAlways (3)
sizeLimit: 0
timeLimit: 0
typesOnly: False
Filter: (&(&(objectclass=user)(!(objectclass=Computer)))
(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
filter: and (0)
and: (&(&(objectclass=user)(!(objectclass=Computer)))
(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
and: 3 items
Filter: (objectclass=user)
and item: equalityMatch (3)
equalityMatch
attributeDesc: objectclass
assertionValue: user
Filter: (!(objectclass=Computer))
and item: not (2)
Filter: (objectclass=Computer)
not: equalityMatch (3)
equalityMatch
attributeDesc: objectclass
assertionValue: Computer
Filter: (!(UserAccountControl:1.2.840.113556.1.4.
803:=2))
and item: not (2)
Filter: (UserAccountControl:1.2.840.113556
.1.4.803:=2)
not: extensibleMatch (9)
extensibleMatch UserAccountControl
matchingRule: 1.2.840.113556.
1.4.803
type: UserAccountControl
matchValue: 2
dnAttributes: False
attributes: 15 items
AttributeDescription: objectguid
AttributeDescription: samaccountname
AttributeDescription: givenname
AttributeDescription: middlename
AttributeDescription: sn
AttributeDescription: manager
AttributeDescription: department
AttributeDescription: telephonenumber
AttributeDescription: mail
AttributeDescription: title
AttributeDescription: homephone
AttributeDescription: mobile
AttributeDescription: pager
AttributeDescription: msrtcsip-primaryuseraddress
AttributeDescription: msrtcsip-primaryuseraddress
[Response In: 103]
controls: 1 item
Control
controlType: 1.2.840.113556.1.4.319 (pagedResultsControl)
criticality: True
SearchControlValue
size: 250
cookie: <MISSING>
當AD從CUCM收到此請求時,它會在baseObject中搜尋使用者:dc=aloksin,dc=lab,滿足濾波條件。任何不符合篩選器所詳細要求的使用者都會被排除在外。AD用所有過濾的使用者響應CUCM並傳送請求的屬性的值。
預設情況下未配置CUAC;沒有為使用者匯入屬性配置對映詳細資訊,因此您必須手動輸入這些詳細資訊。要建立這些對映,請導航到系統配置>目錄源管理> Active Directory >目錄欄位對映。
管理員可以根據自己的要求對映欄位。以下是範例:
在SEARCH請求消息中向AD傳送源欄位資訊。當AD傳送SEARCH響應消息時,這些值將儲存在CUACPE上的目標欄位中。
請注意,CUAC預設將Object Class設定為contacts。如果使用此預設設定,則傳送到AD的過濾器將顯示如下:
Filter: (&(&(objectclass=contact)( ............
使用此過濾器,AD不會將任何使用者返回到CUACPE,因為它在搜尋庫中搜索聯絡人,而不是使用者。因此,必須將對象類更改為user:
到目前為止,已在CUAC上配置以下設定:
在本示例中,Unique屬性配置為sAMAccountName。如果您在CUAC上重新啟動LDAP外掛並檢查SEARCH請求消息,則除了ObjectClass=user之外,該外掛不包含任何屬性或篩選器:
Lightweight Directory Access Protocol
LDAPMessage searchRequest(224) "dc=aloksin,dc=lab" wholeSubtree
messageID: 224
protocolOp: searchRequest (3)
searchRequest
baseObject: dc=aloksin,dc=lab
scope: wholeSubtree (2)
derefAliases: neverDerefAliases (0)
sizeLimit: 1
timeLimit: 0
typesOnly: True
Filter: (ObjectClass=user)
filter: equalityMatch (3)
equalityMatch
attributeDesc: ObjectClass
assertionValue: user
attributes: 0 items
[Response In: 43]
請注意,此處缺少目錄規則。若要將聯絡人與AD同步,必須建立規則。預設情況下,沒有配置目錄規則。一旦建立了一個篩選器,就會出現該篩選器。無需更改篩選器,因為必須匯入具有電話號碼的所有使用者。
重新啟動LDAP外掛以啟動與AD的同步並匯入使用者。以下是來自CUAC的SEARCH請求:
Lightweight Directory Access Protocol
LDAPMessage searchRequest(4) "dc=aloksin,dc=lab" wholeSubtree
messageID: 4
protocolOp: searchRequest (3)
searchRequest
baseObject: dc=aloksin,dc=lab
scope: wholeSubtree (2)
derefAliases: neverDerefAliases (0)
sizeLimit: 0
timeLimit: 15
typesOnly: False
Filter: (&(&(objectclass=user)(telephoneNumber=*))
(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
filter: and (0)
and: (&(&(objectclass=user)(telephoneNumber=*))
(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
and: 3 items
Filter: (objectclass=user)
and item: equalityMatch (3)
equalityMatch
attributeDesc: objectclass
assertionValue: user
Filter: (telephoneNumber=*)
and item: present (7)
present: telephoneNumber
Filter: (!(UserAccountControl:1.2.840.113556.
1.4.803:=2))
and item: not (2)
Filter: (UserAccountControl:1.2.840.113556.
1.4.803:=2)
not: extensibleMatch (9)
extensibleMatch UserAccountControl
matchingRule: 1.2.840.113556.1.
4.803
type: UserAccountControl
matchValue: 2
dnAttributes: False
attributes: 10 items
AttributeDescription: TELEPHONENUMBER
AttributeDescription: MAIL
AttributeDescription: GIVENNAME
AttributeDescription: SN
AttributeDescription: sAMAccountName
AttributeDescription: ObjectClass
AttributeDescription: whenCreated
AttributeDescription: whenChanged
AttributeDescription: uSNCreated
AttributeDescription: uSNChanged
[Response In: 11405]
controls: 1 item
Control
controlType: 1.2.840.113556.1.4.319 (pagedResultsControl)
SearchControlValue
size: 500
cookie: <MISSING>
如果AD找到與SEARCH請求消息中詳述的條件相匹配的使用者,則會傳送包含使用者資訊的SearchResEntry消息。
以下是SearchResEntry訊息:
Lightweight Directory Access Protocol
LDAPMessage searchResEntry(4) "CN=Suhail Angi,CN=Users,DC=aloksin,DC=lab" [4 results]
messageID: 4
protocolOp: searchResEntry (4)
searchResEntry
objectName: CN=Suhail Angi,CN=Users,DC=aloksin,DC=lab
attributes: 9 items
PartialAttributeList item objectClass
type: objectClass
vals: 4 items
top
person
organizationalPerson
user
PartialAttributeList item sn
type: sn
vals: 1 item
Angi
PartialAttributeList item telephoneNumber
type: telephoneNumber
vals: 1 item
1002
PartialAttributeList item givenName
type: givenName
vals: 1 item
Suhail
PartialAttributeList item whenCreated
type: whenCreated
vals: 1 item
20131222000850.0Z
PartialAttributeList item whenChanged
type: whenChanged
vals: 1 item
20131222023413.0Z
PartialAttributeList item uSNCreated
type: uSNCreated
vals: 1 item
12802
PartialAttributeList item uSNChanged
type: uSNChanged
vals: 1 item
12843
PartialAttributeList item sAMAccountName
type: sAMAccountName
vals: 1 item
sangi
[Response To: 11404]
[Time: 0.001565000 seconds]
Lightweight Directory Access Protocol
LDAPMessage searchResEntry(4) "CN=Pragathi NS,CN=Users,DC=aloksin,DC=lab" [5 results]
messageID: 4
protocolOp: searchResEntry (4)
searchResEntry
objectName: CN=Pragathi NS,CN=Users,DC=aloksin,DC=lab
attributes: 9 items
PartialAttributeList item objectClass
type: objectClass
vals: 4 items
top
person
organizationalPerson
user
PartialAttributeList item sn
type: sn
vals: 1 item
NS
PartialAttributeList item telephoneNumber
type: telephoneNumber
vals: 1 item
1000
.......
....{message truncated}..........
.....
CUAC收到這些值後,會將這些值儲存在結構化查詢語言(SQL)表中。然後,您可以登入到控制檯,控制檯從CUACPE伺服器上的此SQL表中提取使用者清單。