?? mainform.frm
字號:
Private Sub VaxSIPUserAgentOCX_OnFailToConnect(ByVal LineNo As Long)
AddToStatusLog ("Line-" + Str(LineNo + 1) + ": Fail to connect.")
End Sub
Private Sub VaxSIPUserAgentOCX_OnFailToRegister()
AddToStatusLog ("Fail to register.")
End Sub
Private Function FindCallIdFromList(ByVal CallId As String) As Boolean
Dim Result As Boolean
Result = False
For ListIndex = 0 To (ListIncomingCallIds.ListCount - 1)
If UCase(ListIncomingCallIds.List(ListIndex)) = UCase(CallId) Then
Result = True
Exit For
End If
Next ListIndex
FindCallIdFromList = Result
End Function
Private Sub VaxSIPUserAgentOCX_OnGeneralFailureResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String)
AddToStatusLog ("Line-" + Str(LineNo + 1) + " Response: " + ReasonPhrase)
End Sub
Private Sub VaxSIPUserAgentOCX_OnIncomingCall(ByVal CallId As String, ByVal DisplayName As String, ByVal UserName As String, ByVal FromURI As String, ByVal ToURI As String)
If FindCallIdFromList(CallId) = False Then
ListIncomingCallIds.AddItem (CallId)
If Len(DisplayName) <> 0 Then
ListIncomingCall.AddItem ("CLI: " + DisplayName)
Else
ListIncomingCall.AddItem ("CLI: " + UserName)
End If
End If
If ListIncomingCall.ListIndex = -1 And ListIncomingCall.ListCount > 0 Then
ListIncomingCall.ListIndex = 0
End If
End Sub
Private Sub VaxSIPUserAgentOCX_OnIncomingCallRingingStart(ByVal CallId As String)
If CheckPlayRingTone.Value = 1 Then
Retval = PlaySound(ByVal "ring.wav", 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or SND_NODEFAULT)
End If
End Sub
Private Sub VaxSIPUserAgentOCX_OnIncomingCallRingingStop(ByVal CallId As String)
RemoveCallIdFromList (CallId)
Retval = PlaySound(ByVal 0&, 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or SND_NODEFAULT)
End Sub
Private Sub VaxSIPUserAgentOCX_OnPlayWaveDone(ByVal LineNo As Long)
AddToStatusLog ("Line-" + Str(LineNo + 1) + ": Play wave done.")
End Sub
Private Sub VaxSIPUserAgentOCX_OnProvisionalResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String)
AddToStatusLog ("Line-" + Str(LineNo + 1) + ": Response: " + ReasonPhrase)
End Sub
Private Sub VaxSIPUserAgentOCX_OnRedirectionResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String, ByVal Contact As String)
AddToStatusLog ("Line-" + Str(LineNo + 1) + ": Response: " + ReasonPhrase)
End Sub
Private Sub VaxSIPUserAgentOCX_OnRequestFailureResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String)
AddToStatusLog ("Line-" + Str(LineNo + 1) + ": Response: " + ReasonPhrase)
End Sub
Private Sub VaxSIPUserAgentOCX_OnServerFailureResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String)
AddToStatusLog ("Line-" + Str(LineNo + 1) + ": Response: " + ReasonPhrase)
End Sub
Private Sub VaxSIPUserAgentOCX_OnSuccessToConnect(ByVal LineNo As Long, ByVal ToRTPIP As String, ByVal ToRTPPort As Long)
AddToStatusLog ("Line-" + Str(LineNo + 1) + ": Success to connect.")
Result = VaxSIPUserAgentOCX.GetSpkVolume()
SliderSpkVol.Value = Result / 25
Result = VaxSIPUserAgentOCX.GetMicVolume()
SliderMicVol.Value = Result / 25
Result = VaxSIPUserAgentOCX.IsMicBoostEnable()
If Result = True Then
CheckMicBoost.Value = 1
Else
CheckMicBoost.Value = 0
End If
End Sub
Private Sub VaxSIPUserAgentOCX_OnSuccessToRegister()
AddToStatusLog ("Registered successfully.")
End Sub
Private Sub VaxSIPUserAgentOCX_OnTryingToRegister()
AddToStatusLog ("Trying to register.")
End Sub
Private Sub VaxSIPUserAgentOCX_OnTryingToUnRegister()
AddToStatusLog ("Trying to Unregister.")
End Sub
Private Sub VaxSIPUserAgentOCX_OnSuccessToUnRegister()
AddToStatusLog ("Unregistered successfully.")
End Sub
Private Sub VaxSIPUserAgentOCX_OnFailToUnRegister()
AddToStatusLog ("Fail to unregister.")
End Sub
Private Sub BtnDial_Click()
Dim ToURI
Dim Result
If EditPhoneNo.Text = "" Then
MsgBox ("Please enter a phone number.")
Exit Sub
End If
'*******************************************************
' Constructing SIP To URI for IP Telephony:
' sip:PhoneNumber@SIP Proxy
'********************************************************
ToURI = "sip:" + EditPhoneNo.Text + "@" + EditSIPProxy.Text
LineNo = ComboDial.ListIndex
Result = VaxSIPUserAgentOCX.Connect(LineNo, ToURI, ListAudioIn.ListIndex - 1, ListAudioOut.ListIndex - 1)
If Result = False Then
ErrorMessages
Else
AddToStatusLog ("Line-" + Str(LineNo + 1) + ": Dialing.")
End If
End Sub
Private Sub BtnHangUp_Click()
Dim Result
LineNo = ComboDial.ListIndex
Result = VaxSIPUserAgentOCX.Disconnect(LineNo)
If Result = False Then
ErrorMessages
End If
End Sub
Private Sub BtnHold_Click()
Dim Result
LineNo = ComboDial.ListIndex
Result = VaxSIPUserAgentOCX.HoldLine(LineNo)
If Result = False Then
ErrorMessages
End If
End Sub
Private Sub BtnUnHold_Click()
Dim Result
LineNo = ComboDial.ListIndex
Result = VaxSIPUserAgentOCX.UnHoldLine(LineNo)
If Result = False Then
ErrorMessages
End If
End Sub
Private Sub RemoveCallIdFromList(ByVal CallId As String)
For ListIndex = 0 To (ListIncomingCallIds.ListCount - 1)
If UCase(ListIncomingCallIds.List(ListIndex)) = UCase(CallId) Then
ListIncomingCall.RemoveItem (ListIndex)
ListIncomingCallIds.RemoveItem (ListIndex)
ListIndex = ListIndex - 1
End If
Next ListIndex
End Sub
Private Sub BtnAccept_Click()
SelectedItemIndex = ListIncomingCall.ListIndex
If SelectedItemIndex = -1 Then
Exit Sub
End If
LineNo = ComboIncomingCall.ListIndex
CallId = ListIncomingCallIds.List(SelectedItemIndex)
Result = VaxSIPUserAgentOCX.AcceptCall(LineNo, CallId, ListAudioIn.ListIndex - 1, ListAudioOut.ListIndex - 1)
If Result = False Then
ErrorMessages
Exit Sub
End If
Retval = PlaySound(ByVal 0&, 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or SND_NODEFAULT)
RemoveCallIdFromList (CallId)
If ListIncomingCall.ListIndex = -1 And ListIncomingCall.ListCount > 0 Then
ListIncomingCall.ListIndex = 0
End If
End Sub
Private Sub BtnReject_Click()
SelectedItemIndex = ListIncomingCall.ListIndex
If SelectedItemIndex = -1 Then
Exit Sub
End If
CallId = ListIncomingCallIds.List(SelectedItemIndex)
Result = VaxSIPUserAgentOCX.RejectCall(CallId)
If Result = False Then
ErrorMessages
Exit Sub
End If
Retval = PlaySound(ByVal 0&, 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or SND_NODEFAULT)
RemoveCallIdFromList (CallId)
If ListIncomingCall.ListIndex = -1 And ListIncomingCall.ListCount > 0 Then
ListIncomingCall.ListIndex = 0
End If
End Sub
Private Sub BtnResetRecordingBuffer_Click()
LineNo = ComboRecord.ListIndex
VaxSIPUserAgentOCX.ResetRecording (LineNo)
End Sub
Private Sub BtnSaveToWaveFile_Click()
Dim Result
LineNo = ComboRecord.ListIndex
Result = VaxSIPUserAgentOCX.SaveRecordingToWaveFile(LineNo, EditSaveFileName.Text)
If Result = False Then
ErrorMessages
Exit Sub
End If
MsgBox ("Saved Successfully")
End Sub
Private Sub ChkStartRecording_Click()
Dim Result
LineNo = ComboRecord.ListIndex
If ChkStartRecording.Value = 1 Then
Result = VaxSIPUserAgentOCX.StartRecording(LineNo, 2)
Else
Result = VaxSIPUserAgentOCX.StopRecording(LineNo)
End If
End Sub
Private Sub CheckEchoCancel_Click()
If CheckEchoCancel.Value = 1 Then
VaxSIPUserAgentOCX.EnableEchoNoiseCancellation
Else
VaxSIPUserAgentOCX.DisableEchoNoiseCancellation
End If
End Sub
Private Sub CheckMicBoost_Click()
If CheckMicBoost.Value = 1 Then
VaxSIPUserAgentOCX.EnableMicBoost
Else
VaxSIPUserAgentOCX.DisableMicBoost
End If
End Sub
Private Sub CheckDisturb_Click()
If CheckDisturb.Value = 1 Then
VaxSIPUserAgentOCX.EnableDonotDisturb
Else
VaxSIPUserAgentOCX.DisableDonotDisturb
End If
End Sub
Private Sub CheckGSM610_Click()
'****Codec No 0 represents GSM 6.10 *****
If CheckGSM610.Value = 1 Then
VaxSIPUserAgentOCX.SelectVoiceCodec (0)
Else
VaxSIPUserAgentOCX.DeselectVoiceCodec (0)
End If
End Sub
Private Sub CheckiLBC_Click()
'****Codec No 1 represents iLBC *****
If CheckiLBC.Value = 1 Then
VaxSIPUserAgentOCX.SelectVoiceCodec (1)
Else
VaxSIPUserAgentOCX.DeselectVoiceCodec (1)
End If
End Sub
Private Sub CheckG711A_Click()
'****Codec No 2 represents G711 A-LAW *****
If CheckG711A.Value = 1 Then
VaxSIPUserAgentOCX.SelectVoiceCodec (2)
Else
VaxSIPUserAgentOCX.DeselectVoiceCodec (2)
End If
End Sub
Private Sub CheckG711U_Click()
'****Codec No 3 represents G711 U-LAW *****
If CheckG711U.Value = 1 Then
VaxSIPUserAgentOCX.SelectVoiceCodec (3)
Else
VaxSIPUserAgentOCX.DeselectVoiceCodec (3)
End If
End Sub
Private Sub UpdateAudioIn()
ListAudioIn.Clear
ListAudioIn.AddItem ("Default Device")
For DeviceId = 0 To VaxSIPUserAgentOCX.GetAudioInDevTotal() - 1
ListAudioIn.AddItem (VaxSIPUserAgentOCX.GetAudioInDevName(DeviceId))
Next DeviceId
ListAudioIn.ListIndex = 0
End Sub
Private Sub UpdateAudioOut()
ListAudioOut.Clear
ListAudioOut.AddItem ("Default Device")
For DeviceId = 0 To VaxSIPUserAgentOCX.GetAudioOutDevTotal() - 1
ListAudioOut.AddItem (VaxSIPUserAgentOCX.GetAudioOutDevName(DeviceId))
Next DeviceId
ListAudioOut.ListIndex = 0
End Sub
Private Sub FillComboBox()
ComboDial.Clear
ComboRecord.Clear
ComboPlayWave.Clear
ComboIncomingCall.Clear
ComboTransferCall.Clear
For LineNo = 0 To (Int(EditTotalLines.Text) - 1)
ComboDial.AddItem ("Line-" + Str(LineNo + 1))
ComboRecord.AddItem ("Line-" + Str(LineNo + 1))
ComboPlayWave.AddItem ("Line-" + Str(LineNo + 1))
ComboIncomingCall.AddItem ("Line-" + Str(LineNo + 1))
ComboTransferCall.AddItem ("Line-" + Str(LineNo + 1))
Next LineNo
ComboDial.ListIndex = 0
ComboRecord.ListIndex = 0
ComboPlayWave.ListIndex = 0
ComboIncomingCall.ListIndex = 0
ComboTransferCall.ListIndex = 0
End Sub
Private Function GetCodecName(ByVal CodecNo As Integer) As String
Dim CodecName
CodecName = ""
If CodecNo = 0 Then
CodecName = "gsm6.10"
ElseIf CodecNo = 1 Then
CodecName = "iLBC"
ElseIf CodecNo = 2 Then
CodecName = "gsm711a"
ElseIf CodecNo = 3 Then
CodecName = "gsm711u"
End If
GetCodecName = CodecName
End Function
Private Sub TimerProgressBar_Timer()
SpkProgress.Value = VaxSIPUserAgentOCX.GetSpkSoundLevel()
MicProgress.Value = VaxSIPUserAgentOCX.GetMicSoundLevel()
End Sub
Private Sub AddToStatusLog(ByVal StatusLog As String)
ListStatusLog.AddItem (StatusLog)
ListStatusLog.TopIndex = ListStatusLog.ListCount - 1
End Sub
Private Sub TimerTick_Timer()
If ListViewLineStatus.ListItems.Count = 0 Then
For LineNo = 0 To (Int(EditTotalLines.Text) - 1)
ListViewLineStatus.ListItems.Add , , Str(LineNo + 1)
Next LineNo
End If
For LineNo = 0 To (Int(EditTotalLines.Text) - 1)
ListViewLineStatus.ListItems.Item(LineNo + 1).SubItems(2) = GetCodecName(VaxSIPUserAgentOCX.GetOutboundCodec(LineNo))
ListViewLineStatus.ListItems.Item(LineNo + 1).SubItems(3) = GetCodecName(VaxSIPUserAgentOCX.GetInboundCodec(LineNo))
ItemText = ListViewLineStatus.ListItems.Item(LineNo + 1).SubItems(1)
If VaxSIPUserAgentOCX.IsLineOpen(LineNo) = False Then
If InStr(ItemText, "close") = 0 Then
ListViewLineStatus.ListItems.Item(LineNo + 1).SubItems(1) = "close"
End If
Else
If VaxSIPUserAgentOCX.IsLineBusy(LineNo) = True Then
If VaxSIPUserAgentOCX.IsWaveFilePlaying(LineNo) = True Then
If InStr(ItemText, "playing") = 0 Then
ListViewLineStatus.ListItems.Item(LineNo + 1).SubItems(1) = "playing"
End If
Else
If VaxSIPUserAgentOCX.IsLineHold(LineNo) = True Then
If InStr(ItemText, "hold") = 0 Then
ListViewLineStatus.ListItems.Item(LineNo + 1).SubItems(1) = "hold"
End If
Else
If InStr(ItemText, "busy") = 0 Then
ListViewLineStatus.ListItems.Item(LineNo + 1).SubItems(1) = "busy"
End If
End If
End If
Else
If InStr(ItemText, "free") = 0 Then
ListViewLineStatus.ListItems.Item(LineNo + 1).SubItems(1) = "free"
End If
End If
End If
Next LineNo
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -