⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.frm

📁 VaxSIPUserAgentSDK
💻 FRM
📖 第 1 页 / 共 4 页
字号:
           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-" + Trim(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-" + Trim(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-" + Trim(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-" + Trim(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-" + Trim(Str(LineNo + 1)) + ": Response: " + ReasonPhrase)
End Sub

Private Sub VaxSIPUserAgentOCX_OnSuccessToConnect(ByVal LineNo As Long, ByVal ToRTPIP As String, ByVal ToRTPPort As Long)
    
    If LineNo <> ListLines.ListIndex Then
        VaxSIPUserAgentOCX.HoldLine (LineNo)
        ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : HOLD"
    Else
        ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : BUSY"
    End If
    
    AddToStatusLog ("Line-" + Trim(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 = FindLine()
    If LineNo = -1 Then
        MsgBox ("No line is free")
        Exit Sub
    End If
            
    Result = VaxSIPUserAgentOCX.Connect(LineNo, ToURI, ComboAudioIn.ListIndex - 1, ComboAudioOut.ListIndex - 1)
    If Result = False Then
        ErrorMessages
    Else
        AddToStatusLog ("Line-" + Trim(Str(LineNo + 1)) + ": Dialing.")
        
        ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : CONNECTING"
        
    End If
    
End Sub

Private Sub BtnHangUp_Click()
    
    Dim Result
    LineNo = ListLines.ListIndex
    
    Result = VaxSIPUserAgentOCX.Disconnect(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 = FindLine()
    If LineNo = -1 Then
        MsgBox ("No line is free")
        Exit Sub
    End If
    
    CallId = ListIncomingCallIds.List(SelectedItemIndex)
    Result = VaxSIPUserAgentOCX.AcceptCall(LineNo, CallId, ComboAudioIn.ListIndex - 1, ComboAudioOut.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
    
    ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : CONNECTING"
    
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 = ListLines.ListIndex
    VaxSIPUserAgentOCX.ResetRecording (LineNo)
    
End Sub

Private Sub BtnSaveToWaveFile_Click()
    Dim Result
    
    LineNo = ListLines.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 = ListLines.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 UpdateSoundDevices()
        
    ComboAudioIn.Clear
    ComboAudioIn.AddItem ("Default Device")
    
    For DeviceId = 0 To VaxSIPUserAgentOCX.GetAudioInDevTotal() - 1
        ComboAudioIn.AddItem (VaxSIPUserAgentOCX.GetAudioInDevName(DeviceId))
    Next DeviceId
    
    ComboAudioIn.ListIndex = 0
    
    ComboAudioOut.Clear
    ComboAudioOut.AddItem ("Default Device")
    
    For DeviceId = 0 To VaxSIPUserAgentOCX.GetAudioOutDevTotal() - 1
        ComboAudioOut.AddItem (VaxSIPUserAgentOCX.GetAudioOutDevName(DeviceId))
    Next DeviceId
    
    ComboAudioOut.ListIndex = 0
    
End Sub

Private Function FindLine() As Integer
    
    LineNo = ListLines.ListIndex
    
    If VaxSIPUserAgentOCX.IsLineBusy(LineNo) = False Then
        FindLine = LineNo
        Exit Function
    End If
       
    For LineNo = 0 To 6
        
        If VaxSIPUserAgentOCX.IsLineBusy(LineNo) = False Then
            FindLine = LineNo
            Exit Function
        End If
        
    Next LineNo
    
    FindLine = -1
    
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 UpdateListLine(LineNo As Integer)

    If CheckStartConf.Value Then
        For LineCount = 0 To 6
            If VaxSIPUserAgentOCX.IsLineHold(LineCount) Then
                VaxSIPUserAgentOCX.UnHoldLine (LineCount)
            End If
        Next LineCount
    Else
        
        For LineCount = 0 To 6
            If LineCount <> LineNo Then
                If ((VaxSIPUserAgentOCX.IsLineBusy(LineCount) = True) And (VaxSIPUserAgentOCX.IsLineHold(LineCount) = False)) Then
                    VaxSIPUserAgentOCX.HoldLine (LineCount)
                End If
            End If
        Next LineCount
        
        If VaxSIPUserAgentOCX.IsLineHold(LineNo) Then
            VaxSIPUserAgentOCX.UnHoldLine (LineNo)
        End If
        
    End If

End Sub

Private Sub TimerTick_Timer()
    
    If ListLines.ListCount = 0 Then
        For LineNo = 0 To 6
            ListLines.AddItem ("Line-" + Trim(Str(LineNo + 1)) + " : FREE")
        Next LineNo
        
        ListLines.ListIndex = 0
    End If
    
    UpdateListLine (ListLines.ListIndex)
    
    If (VaxSIPUserAgentOCX.IsRecording(ListLines.ListIndex) = True) <> (CheckStartRecording.Value = 1) Then
        If VaxSIPUserAgentOCX.IsRecording(ListLines.ListIndex) Then
            CheckStartRecording.Value = 1
        Else
            CheckStartRecording.Value = 0
        End If
    End If
            
    For LineNo = 0 To 6
            
        ItemText = ListLines.List(LineNo)
                                
        If VaxSIPUserAgentOCX.IsLineOpen(LineNo) = False Then
              
            If InStr(ItemText, "CLOSE") = 0 Then
                ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : CLOSE"
            End If
        
        Else
            If VaxSIPUserAgentOCX.IsLineBusy(LineNo) = True Then
                
                If VaxSIPUserAgentOCX.IsWaveFilePlaying(LineNo) = True Then
                    If InStr(ItemText, "PLAYING") = 0 Then
                        ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : PLAYING"
                    End If
                Else
                    If VaxSIPUserAgentOCX.IsLineHold(LineNo) = True Then
                        If InStr(ItemText, "HOLD") = 0 Then
                            ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : HOLD"
                        End If
                    Else
                        If (InStr(ItemText, "BUSY") = 0) And (InStr(ItemText, "CONNECTING") = 0) Then
                            ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : BUSY"
                        End If
                    End If
                End If
            Else
                If InStr(ItemText, "FREE") = 0 Then
                    ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : FREE"
                End If
            End If
        
        End If
                    
    Next LineNo

End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -