本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案將說明成功的適用於Jabber案頭使用者端的電腦電話整合(CTI)管理員驗證的詳細通話流程
思科建議您瞭解以下主題:
本檔案中的資訊是根據以下軟體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
確保CTI Manager服務日誌設定為調試級別,重現問題,然後通過命令列或即時監控工具(RTMT)收集日誌。 按照下面的步驟驗證CTI身份驗證
步驟1. CTI管理器服務接收來自Jabber客戶端的Provider Open請求。
00895255.002 |08:59:16.944 |AppInfo |[CTI-APP] [CTIHandler::processIncomingMessage] CTI ProviderOpenRequest ( seq#=2 provider=UCProvider login=wwhite heartbeat=60 timer=10 priority=0 lightWeightProviderOpen=0 AuthType=0 RequestOldFetch=0 EncryptedSSODataSize=0) 00895256.000 |08:59:16.944 |SdlSig |CtiProviderOpenReq |init_complete_await_provopen |CTIHandler(1,200,22,7) |CTIHandler(1,200,22,7) |1,200,13,8.3^*^* |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] Async Response=2 ProviderName=UCProvider ClientVersion=UCProvider LoginId=wwhite ApplName=Shibui ServerHeartbeat=60 CMAssignedAppId=1234 PluginName=Cisco JTAPI LightWeightProviderOpen=0 Auth Style=0 RequestOldFetch=0 00895256.001 |08:59:16.944 |AppInfo |SSOTOKEN = 00895256.002 |08:59:16.944 |AppInfo |CQBEBuilder::BuildQbeMessage(): objectID=2 00895256.003 |08:59:16.944 |AppInfo |CTIHandler::OutputQbeMessage: TcpHand=[1:200:13:8] QbePref={0x0xf74b346c,0x70} pQbeMsg=0x0xf74b3474 qbeMsgSize=0x70 tmpLen=0x78 msgSize_=0x78
步驟2.將提供商開放響應傳送到Jabber客戶端。
00895256.004 |08:59:16.944 |AppInfo |[CTI-APP] [CTIHandler::OutputCtiMessage ] CTI ProviderOpenResponse (seq#=2) provider id=16777223 FIPSMode = 0
步驟3.開始終端使用者身份驗證過程。
00895260.000 |08:59:17.057 |SdlSig |CtiProceedWithAppLogin |init_complete_await_auth |CTIHandler(1,200,22,7) |CtiManager(1,200,21,1) |1,200,13,8.3^*^* |[R:L-H:0,N:0,L:0,V:0,Z:0,D:0] 00895261.000 |08:59:17.058 |SdlSig |CtiLoginCheckReq |ready |Directory(1,200,23,1) |CTIHandler(1,200,22,7) |1,200,13,8.3^*^* |[T:N-H:0,N:0,L:0,V:0,Z:0,D:0] Login=wwhite Seq#=2 Auth Style=0 3rd Party Certificate=0 mOcsp_url= mIssuerName= EncryptedSingleSignOnData Size=0 00895261.001 |08:59:17.058 |AppInfo |CtiLoginCheckReq::authenticateByUserName
步驟4.進行金鑰解密,在身份驗證嘗試之前必須成功。
00895261.002 |08:59:17.058 |AppInfo |CCMAsymmetricEncryption::DecryptText Enter 00895261.003 |08:59:17.067 |AppInfo |CCMAsymmetricEncryption::DecryptText Exit 00895261.004 |08:59:17.067 |AppInfo |Decrypted Key Status success - [52] 00895261.005 |08:59:17.067 |AppInfo |Nonce =cc64fd13-d4e1-43bc-808f-f051f7c945d0 00895261.006 |08:59:17.067 |AppInfo |Nonce validation success 00895261.007 |08:59:17.067 |AppInfo |CCMSymmetricEncryption::DecryptText:enter 00895261.008 |08:59:17.067 |AppInfo |CCMEncryption::DecryptText (Exit) (Success)) 00895261.009 |08:59:17.067 |AppInfo |Decrypted Password Status success - [8]
步驟5.擷取使用者名稱,並將其與密碼一起用於驗證。
00895261.010 |08:59:17.067 |AppInfo |AuthenticationImpl::login:enter 00895261.011 |08:59:17.067 |AppInfo |AuthenticationImpl::retrieveCredential:enter 00895261.012 |08:59:17.067 |AppInfo |userid is wwhite 00895261.013 |08:59:17.067 |AppInfo |AuthenticationImpl::login - no encryptedpassword Credential, look for password 00895261.014 |08:59:17.067 |AppInfo |AuthenticationImpl::login (Auth with password. Calling authenticateUserWithPassword) 00895261.015 |08:59:17.067 |AppInfo |authenticationDB::authenticateUserWithPassword():enter 00895261.016 |08:59:17.067 |AppInfo |Credential Length is: 8
步驟6. CTI管理器檢查使用者的憑據策略。
00895261.021 |08:59:17.113 |AppInfo |userType is: 1 00895261.022 |08:59:17.113 |AppInfo |timeOfLockout is: 0 00895261.023 |08:59:17.113 |AppInfo |timeHackedLockout is: 0 00895261.024 |08:59:17.113 |AppInfo |hackCount is: 0 00895261.025 |08:59:17.113 |AppInfo |daysToExpiry is: 0 00895261.026 |08:59:17.113 |AppInfo |doesNotExpire is: 0 00895261.027 |08:59:17.113 |AppInfo |useExpiryWarning is: 0 00895261.028 |08:59:17.113 |AppInfo |isInactive is: 0 00895261.029 |08:59:17.113 |AppInfo |userMustChange is: 0 00895261.030 |08:59:17.113 |AppInfo |endUserStatus is: 1 00895261.031 |08:59:17.113 |AppInfo |imsInfo is: 1 00895261.032 |08:59:17.113 |AppInfo |lastSuccessfulLoginTime is: 1455049675 00895261.033 |08:59:17.148 |AppInfo |XXXXXX Check 1
步驟7.繼續終端使用者的CTI身份驗證。
00895261.034 |08:59:17.149 |AppInfo |authenticationDB::login (Authenticating using LDAP) 00895261.035 |08:59:17.149 |AppInfo |authenticationLDAP.cpp::authenticateUserWithPassword():enter 00895261.036 |08:59:17.149 |AppInfo |LDAP userid is 'wwhite' 00895261.037 |08:59:17.149 |AppInfo |authenticationUtils::escapeLDAPSpecialCharsForFilter():enter 00895261.038 |08:59:17.149 |AppInfo | After Escaping for LDAP special Characters for Filter = wwhite
步驟8. CTI管理器服務現在嘗試在身份驗證嘗試之前連線到LDAP。
00895261.040 |08:59:17.149 |AppInfo |LDAP not initialized...connecting... 00895261.041 |08:59:17.149 |AppInfo |authenticationLDAP::connect():enter 00895261.042 |08:59:17.149 |AppInfo |authenticationLDAP::Authenticate():enter 00895261.043 |08:59:17.149 |AppInfo |Authenticating with SSL not enabled (ldap://10.10.10.10:3268)
步驟9.使用LDAP身份驗證配置中配置的服務帳戶成功嘗試連線。
00895261.044 |08:59:17.149 |AppInfo |LDAP initialize non-SSL Return Code (0)
步驟10.管理員身份驗證成功。
00895261.051 |08:59:17.158 |AppInfo |LDAP authentication bind SUCCESS for Administrator@joshlab.net 00895261.052 |08:59:17.158 |AppInfo |Connection # (0): sucessful 00895261.053 |08:59:17.158 |AppInfo |Details :: 00895261.054 |08:59:17.158 |AppInfo |10.10.10.10 3268 00895261.055 |08:59:17.158 |AppInfo |------------------------------------------------------------------------ 00895261.056 |08:59:17.158 |AppInfo |Available Servers (1) 00895261.057 |08:59:17.158 |AppInfo |authenticationLDAP::Authenticate():exit(0) 00895261.058 |08:59:17.158 |AppInfo |Authentication of LDAP administrator successful.
步驟11. CTI Manager服務檢索LDAP資訊並使用終端使用者帳戶進行身份驗證。
00895261.072 |08:59:17.164 |AppInfo |Retrieve the specified user entry: (&(&(objectclass=user)(!(objectclass=Computer))(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))(sAMAccountName=wwhite)) 00895261.073 |08:59:17.164 |AppInfo |LDAP Search for User base: 'OU=Breaking Bad,DC=joshlab,DC=net' 00895261.074 |08:59:17.165 |AppInfo |LDAP Search complete. Code: 0 00895261.075 |08:59:17.165 |AppInfo |Get DN of entry. 00895261.076 |08:59:17.165 |AppInfo |Got DN: CN=Walter White,OU=Breaking Bad,DC=joshlab,DC=net 00895261.077 |08:59:17.165 |AppInfo |Attempt to authenticate DN: CN=Walter White,OU=Breaking Bad,DC=joshlab,DC=net 00895261.078 |08:59:17.165 |AppInfo |authenticationLDAP::Authenticate():enter 00895261.079 |08:59:17.165 |AppInfo |Authenticating with SSL not enabled (ldap://10.10.10.10:3268)
步驟12.終端使用者的LDAP身份驗證成功。
00895261.087 |08:59:17.171 |AppInfo |LDAP authentication bind SUCCESS for CN=Walter White,OU=Breaking Bad,DC=joshlab,DC=net 00895261.088 |08:59:17.171 |AppInfo |Connection # (0): sucessful 00895261.089 |08:59:17.171 |AppInfo |Details :: 00895261.090 |08:59:17.171 |AppInfo |10.10.10.10 3268 00895261.091 |08:59:17.171 |AppInfo |------------------------------------------------------------------------ 00895261.092 |08:59:17.171 |AppInfo |Available Servers (1) 00895261.093 |08:59:17.171 |AppInfo |authenticationLDAP::Authenticate():exit(0) 00895261.094 |08:59:17.171 |AppInfo |authenticationLDAP::authenticateUserWithPassword():Exit(0) 00895261.095 |08:59:17.171 |AppInfo |Successfully authenticated user: wwhite
步驟13. CTI管理器檢查資料庫,以確保終端使用者擁有允許訪問電話的正確許可權。
00895262.000 |08:59:17.171 |SdlSig |CtiLoginCheckRes |authenticating |CTIHandler(1,200,22,7) |Directory(1,200,23,1) |1,200,13,8.3^*^* |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] Seq#=2 result=Success LoginUserID= Expire days=4294967295 00895263.000 |08:59:17.172 |SdlSig |CtiUserSettingsReq |ready |CTIDbAccess(1,200,26,1) |CTIHandler(1,200,22,7) |1,200,13,8.3^*^* |[T:H-H:0,N:0,L:0,V:0,Z:0,D:0] mUserId=wwhite 00895263.001 |08:59:17.172 |AppInfo |DbAccess::ReadCtiUserSettingsReq
步驟14.確認CTI使用者許可權。
00895264.000 |08:59:17.172 |SdlSig |CtiUserSettingsRes |verifying |CTIHandler(1,200,22,7) |CTIDbAccess(1,200,26,1) |1,200,13,8.3^*^* |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] SuperProvider = Disabled CallParkRetrievalAllowed = Disabled ModifyCallingNumber = Disabled CTI Enabled = Enabled CallMonitor=Disabled CallRecord=Disabled Userid = wwhite result=0 00895264.001 |08:59:17.172 |AppInfo |[CTI-INFO] [CTIHandler::verifying_CtiUserSettingsRes] mCtiUserSettings.mbSecurityEnabled=0 00895264.002 |08:59:17.172 |AppInfo |[CTI-INFO] [CTIHandler::verifying_CtiUserSettingsRes] mListenPort=2748 00895264.003 |08:59:17.172 |AppInfo |[CTI-INFO] [CTIHandler::verifying_CtiUserSettingsRes] sent providerSubscriptionRegNotify for user wwhite
步驟15.然後,CTI為Jabber將要控制的電話傳送DeviceOpenRequest。
00895326.002 |08:59:17.335 |AppInfo |[CTI-APP] [CTIHandler::processIncomingMessage] CTI DeviceOpenRequest ( seq#=4 device name=SEP001794625DE5 softkeys AppID=1234) 00895327.000 |08:59:17.335 |SdlSig |CtiDeviceOpenDeviceReq |ready |CTIHandler(1,200,22,7) |CTIHandler(1,200,22,7) |1,200,13,8.5^14.48.68.203^SEP001794625DE5 |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] AsyncResponse=4 DH=0|0 Name=SEP001794625DE5 Type=0 RisClass=0 TerminateMedia=5 RequestType=0 RtpDestination1|1 ApplnIpAddrMode=3 Filter Bitmap=000100000000000000000100000001001 AppLoginUserId=wwhite AppIPAddr= ipAddrType=0 ipv4=10.10.10.100 ApplicationIDListCount = 1 ApplicationIds are 1234, mSoftKeyApplicationID = 1234 ProviderIDListCount = 1 ProviderIds are 16777223, IsCTIConnectionTLS = F
步驟16. CTI Manager允許連線並傳送DeviceOpenRequest Response。
00895329.000 |08:59:17.339 |SdlSig |CtiDeviceOpenDeviceRes |ready |CTIHandler(1,200,22,7) |CTIDeviceLineMgr(1,200,25,1) |1,200,13,8.5^10.10.10.100^SEP001794625DE5 |[R:N-H:0,N:3,L:0,V:0,Z:0,D:0] mAsyncResponse = 4 DH=1|38 Name=SEP001794625DE5 Type=7 StationPid=(0,0,0,0) mOpenResult=0x0 mEncodingType=3 mRequestType=0 mDSSDeviceState = 0 00895329.001 |08:59:17.339 |AppInfo |CQBEBuilder::BuildQbeMessage(): objectID=27 00895329.002 |08:59:17.340 |AppInfo |CTIHandler::OutputQbeMessage: TcpHand=[1:200:13:8] QbePref={0x0xf74b346c,0x98} pQbeMsg=0x0xf74b3474 qbeMsgSize=0x98 tmpLen=0xa0 msgSize_=0xa0 00895329.003 |08:59:17.340 |AppInfo |[CTI-APP] [CTIHandler::OutputCtiMessage ] CTI DeviceOpenResponse ( seq#=4 result=0 DH=1|38 deviceName=SEP001794625DE5 deviceType=7 deviceId=38 registrationAllowed=0 deviceLocale=1 protocol=1 deviceRestricted=0 altScript= Rollover=0 BIB=0 DNDOption=0 IpAddrMode=0 supportsFeat=0 Visiting=0) 00895330.000 |08:59:17.340 |AppInfo |-->RisCTIManagerAccess::DeviceOpenActivityy(...) 00895331.000 |08:59:17.340 |AppInfo |DeviceOpenActivity(): activity: 1, connID: 7, deviceName: SEP001794625DE5, appID: wwhite-10.10.10.100-58667, rtpaddr: , assocIpAddr: , mediaControl: 0, deviceType: 7, reason: 0 00895332.000 |08:59:17.340 |AppInfo |<--RisCTIManagerAccess::DeviceOpenActivityy(...)
步驟17.最後是DeviceInService消息,該消息標籤已成功完成案頭電話控制請求。
00895336.003 |08:59:17.343 |AppInfo |[CTI-APP] [CTIHandler::OutputCtiMessage ] CTI DeviceInServiceEvent ( DH=1|38 ) Encoding Type=3 Device locale=1 Alt Script= DNDStatus=0 DNDOption=0) 00895337.000 |08:59:17.344 |SdlSig |SdlDataInd |ready |CtiManager(1,200,21,1) |SdlTCPConnection(1,200,13,8) |1,200,13,8.6^*^* |*TraceFlagOverrode 00895337.001 |08:59:17.344 |AppInfo |CtiManager::ready_SdlDataInd(): ConnHandle=[1:200:13:8] TCP message length=0x108 00895338.000 |08:59:17.344 |SdlSig |CtiQbeGenericMessage |ready |CTIHandler(1,200,22,7) |CtiManager(1,200,21,1) |1,200,13,8.6^*^* |*TraceFlagOverrode 00895338.001 |08:59:17.344 |AppInfo |CQBEParser::ParseQbeMessage: PDU#=37
此時,Jabber客戶端能夠通過CTI成功控制案頭電話。常見問題可在LDAP身份驗證和CTI日誌的終端使用者許可權進程中看到。