About Me

我的相片
台北市, Taiwan
我是方選,
方白科技(finebind tech.)共同創辦人,
臺大資管所畢,
希望能幫助更多的人!

FB: http://fb.com/function1122
LINE: http://bit.ly/1foeZft (手機開啟點擊網址自動加入)

最新15則讀者回應

最新文章

FUNction's 上課筆記

Label Cloud

Blog Archive

FeedBurner

追蹤者

UCMA 取得對話對象的名稱

FUNction 於 2008年3月27日 下午4:09 發表
在UCMA 的開發裡,如果要取得對話對象的資料,需要用到SignalingSession 的RemoteParticipant 。SignalingSession 就是跟對方講話的session ,RemoteParticipant 是它的一個property 。
這個property 在MSDN 裡面並沒有詳細的介紹(請參見 http://msdn2.microsoft.com/en-us/library/microsoft.rtc.signaling.signalingsession.remoteparticipant.aspx),研究了一下,我在這裡分享幾個比較有趣的property 內容:

  • ContactUri(string): Retern 一串我看不出來是什麼的東西,不像LDAP 路徑,類似於:_sip:administrator@msft.com;opaque=user:epid:TJQrEP0QnFW8hA9PhB94qAAA;gruu;另一個屬性Gruu 也傳回相同的值。
  • EndpointId(string): Return 一個類似於這樣的ID: 1ca51363bd,這應該是對方EndPoint 在OCS 裡註冊的ID。
  • Name(string): Return 對方使用者在OCS 中的顯示名稱,例如: Administrator。
  • Uri(string): Return 對方的sip uri,它的結果會類似這樣"_sip:administrator@msft.com",值得注意的是前面有"_sip:"。
  • UriAtHost(string): 在AD 中,這可以回傳對方使用者的UPN,傳回訊息類似於: administrator@msft.com。

我覺得比較值得注意的是Name UriAtHost ,這樣我們在對話中就可以知道對方來者何人了。好啦,老實說我覺得這一點都不有趣。 Tags: , ,

讀者回應 ( 6 意見 )

To Chming:
抱歉,拖了好幾天,不知道你try出來了沒
在UCMA 裡面應該是不行撈出住址電話等資料啦~不過可以得到類似UPN的使用者資料
用UPN再另外寫程式撈資料應該很容易,就像一般的AD Programming 一樣吧~我目前也是打算這樣做 :-)
但密碼是絕對不可能撈到的(因為密碼使用3DES加密儲存,理論上是不可逆的)

To Function,

了解,不過我這幾天測了一下AD,我開發程式電腦好像加入網域後,還要登入此網域再執行程式才能抓到AD資料,如果我沒有登入此網域(登入本機電腦)就抓不到AD資料。如果是這樣,那想寫成service的方式,電腦不login,不就抓不到資料? 不知這是否是AD的限制? 謝謝!

To Function,

突然想到一個問題,就是OCS client(Communicator)登入後,在"轉接電話至"的功能中,可以看到列出了我的手機/公司/住家的電話,可是這時候我電腦沒有登入此網域,所以ocs應該還是可以透過ocs的機制取得電話的資料,只是不知API是否有提供...

To: Function,

哈哈!剛剛又測試了一下,終於可以把AD的個人資料抓出來了,也不用登入到相同的網域。
我將http://www.codeproject.com/KB/system/getuserfrmactdircsharp.aspx 的sample加上網域登入的帳號與密碼即可。並列出想要的user即可,如下:
DirectoryEntry entry = new DirectoryEntry("LDAP://domain", "user", "passwrod");
DirectorySearcher dSearch = new DirectorySearcher(entry);
String Name="user1";
dSearch.Filter = "(&(objectClass=user)(CN=" + Name + "))";
不過這方式也許你已經知道了,想說還有別人會看,post出來也許可以幫到別人。謝謝!

To Chming:
謝謝你的自問自答!! 我相信很多人會感謝你:-)
其實這就像我說的AD 程式設計吧,透過LDAP 協定查詢AD 資料,只要將管理員權限送入驗證便能從AD 撈資料。我大二的時候還用PHP 實做過,但後來就沒有繼續玩了

順帶一提,我現在想把UCMA Bot 寫成Console 模式,可惜好像沒辦法用while() 卡住程式:S (如果我有寫出來我會再分享的~哈)

因為我不小心把好友的google定位給刪除了,請教該如何恢復???
謝謝~

張貼留言

如果沒有帳戶,建議使用「名稱/網址」留言喔^^