0

Lync で連絡先を右クリックして [通話] を選択し、番号をクリックしたときにクリックされた電話番号を取得する適切な方法を知りたいです。

予想されるのは、クリックされた番号を含む tel 文字列です。

その場合に使用するイベントと、番号を取得するためのコードの概要を教えてください。

現時点では、ConversationManager.ConversationAddedイベントを使用して連絡先エンドポイント URI から番号を取得していますが、実際の電話番号をクリックしてもデフォルトのエンドポイントが SIP 文字列として渡されることがあるため、半分の時間しか機能しません。

ここにコード。

Private Sub ConversationManager_ConversationAdded(ByVal sender As Object, ByVal e As Microsoft.Lync.Model.Conversation.ConversationManagerEventArgs) Handles m_lyncConversationManager.ConversationAdded

Dim ConvParticipants As IList(Of Participant) = e.Conversation.Participants
Dim ContactURI() As String = ConvParticipants.Item(1).Contact.Uri.ToString().Split(":")
If e.Conversation.Modalities(ModalityTypes.AudioVideo).State = ModalityState.Connecting Then

Dim outboundContact As Contact = ConvParticipants.Item(1).Contact
Dim _ContactSettings As IDictionary(Of ContactSetting, Object) = outboundContact.Settings
Dim outObject As Object = Nothing
Dim PhoneNumber() As String

If _ContactSettings.TryGetValue(ContactSetting.DefaultContactEndpoint, outObject) Then
PhoneNumber = DirectCast(outObject, ContactEndpoint).Uri.Split(":")
4

2 に答える 2

1

オーディオ/ビデオ通話にこれが必要だと思います。

あなたがやっているように参加者を取得する必要がありますが、その参加者のモダリティを取得する必要があり、そこでエンドポイントを取得します。

C# コード:

ContactEndpoint ep = Participant.Modalities[ModalityTypes.AudioVideo].Endpoint
于 2016-11-18T17:16:53.553 に答える
0

ほとんどの場合、次のような phone パラメータを持つ Sip Uri を取得しますsip:user@domain.ext;user=phone。これにより、Lync サーバーに、このユーザーとの通話を開始するように指示し、そのユーザーに関する情報に基づいて、それに応じてルーティングする方法を決定します。

電話番号が必要な場合はContactCard、この連絡先の を取得します。これには (特に) 電話番号が含まれます。

于 2013-04-11T11:55:28.353 に答える