於是找了Ws-discovery的說明書後,發現只要根據下列幾個原則,Test tool即可發現符合Onvif規定的設備了,一定要先被發現,之後才能做服務嘛‥萬事起頭難。
說簡單也簡單,Ws-discovery採取廣播的方式來尋找設備,廣播位址為:239.255.255.250,port :3702
回應時需注意下列幾個注意事項:
1.設備服務的ID值:(請自行產生)
EndpointReference.Address = "532E5B51-6579-40f0-A79E-51394EDD1744"
2.產品的名稱
ProbeMatch->Scopes->item = "onvif://www.onvif.org/type/video_encoder onvif://www.onvif.org/type/audio_encoder onvif://www.onvif.org/name/virtual-ipcam onvif://www.onvif.org/location/Taipei"
3.這個裝置是在Onvif分類上的哪一個大類
ProbeMatch->Types = "dn:NetworkVideoTransmitter"
4.此裝置提供服務的實體位址
ProbeMatches->ProbeMatch->XAddrs = "http://192.168.3.100/onvif/service"
5.每次回應時都要重產生一個Message ID
soap->header->wsa__MessageID = "uuid:urn:uuid:532E5B51-6579-40f0-A79E-51394EDD1734"
以下是範例程式執行時的畫面:ws_discovery.exe "主機IP", 此時將會聽取來 239.255.255.250:3702的訊息。
則會偵測到我們ws_discovery.exe發出來的回應訊息。
此時表示我們這個虛擬的Onvif設備已經被TestTool找到了。
原始碼下載點:
https://docs.google.com/file/d/0B69QoydOaKOrX29FcFR6WHdWUjg/edit?usp=sharing


沒有留言:
張貼留言