• Tidak ada hasil yang ditemukan

LAMPIRAN. 1. Detail Call Flow Diagram L 1

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAMPIRAN. 1. Detail Call Flow Diagram L 1"

Copied!
25
0
0

Teks penuh

(1)

L 1

1. Detail Call Flow Diagram

---

INVITE sip:102@10.30.1.62 SIP/2.0

Via: SIP/2.0/UDP 10.30.1.64:5060;branch=z9hG4bK5776c63047cc4a31f5a9;rport From: Adi <sip:101@10.30.1.62>;tag=37770dfc

To: <sip:102@10.30.1.62> Call-ID: 76c630-1347cc-4a31f5a9@10.30.1.64 CSeq: 1 INVITE Contact: <sip:101@10.30.1.64:5060> User-Agent: VaxSIPUserAgent/3.0 Max-Forwards: 70

Allow: ACK, INFO, BYE, CANCEL, INVITE, NOTIFY, OPTIONS, REFER, REGISTER Content-Type: application/sdp Content-Length: 209 v=0 o=101 124478813714 124478813714 IN IP4 10.30.1.64 s=VaxSoft c=IN IP4 10.30.1.64 t=0 0 m=audio 7000 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=sendrecv --- SIP/2.0 100 Trying

Via: SIP/2.0/UDP 10.30.1.64:5060;branch=z9hG4bK5876c98b47cf4a31f5aa;rport To: <sip:102@10.30.1.62>;tag=4450

From: Adi <sip:101@10.30.1.62>;tag=37770dfc Call-ID: 76c630-1347cc-4a31f5a9@10.30.1.64 CSeq: 2 INVITE

User-Agent: NCH Software Axon Virtual PBX 2.04 Content-Length: 0

(2)

SIP/2.0 180 Ringing

Via: SIP/2.0/UDP 10.30.1.64:5060;branch=z9hG4bK5876c98b47cf4a31f5aa;rport To: <sip:102@10.30.1.62>;tag=4450

From: Adi <sip:101@10.30.1.62>;tag=37770dfc Call-ID: 76c630-1347cc-4a31f5a9@10.30.1.64 CSeq: 2 INVITE

User-Agent: NCH Software Axon Virtual PBX 2.04 Content-Length: 0

---

SIP/2.0 200 OK

Via: SIP/2.0/UDP 10.30.1.64:5060;branch=z9hG4bK5876c98b47cf4a31f5aa;rport To: <sip:102@10.30.1.62>;tag=4450

From: Adi <sip:101@10.30.1.62>;tag=37770dfc Call-ID: 76c630-1347cc-4a31f5a9@10.30.1.64 CSeq: 2 INVITE

User-Agent: NCH Software Axon Virtual PBX 2.04 Contact: <sip:102@10.30.1.62:5060>

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Accept: application/sdp Supported: replaces Content-Type: application/sdp Content-Length: 207 v=0 o=102 12447881503 12447881503 IN IP4 10.30.1.62 s=VaxSoft c=IN IP4 10.30.1.62 t=0 0 m=audio 7000 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=sendrecv --- ACK sip:102@10.30.1.62 SIP/2.0

Via: SIP/2.0/UDP 10.30.1.64:5060;branch=z9hG4bK5776c63047cc4a31f5a9;rport From: Adi <sip:101@10.30.1.62>;tag=37770dfc

To: <sip:102@10.30.1.62> Call-ID: 76c630-1347cc-4a31f5a9@10.30.1.64 CSeq: 1 ACK Contact: <sip:101@10.30.1.64:5060> Content-Length: 0 --- RTP RTP --- BYE sip:101@10.30.1.64:5060 SIP/2.0

Via: SIP/2.0/UDP 10.30.1.62:5060;rport;branch=z9hG4bK653328 To: Adi <sip:101@10.30.1.62>;tag=37770dfc

From: <sip:102@10.30.1.62>;tag=4450 Call-ID: 76c630-1347cc-4a31f5a9@10.30.1.64 CSeq: 157 BYE

Max-Forwards: 20

User-Agent: NCH Software Axon Virtual PBX 2.04 Content-Length: 0

(3)

2.

Daftar Panggilan

Ekstensi 101 (Softphone 1)

Ekstensi 102 (Softphone 2)

(4)

Ekstensi 103 (Hardphone 2)

3. Listing Program Softphone

Private Const SND_FILENAME = &H20000 Private Const SND_LOOP = &H8

Private Const SND_ASYNC = &H1 Private Const SND_NODEFAULT = &H2

Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" _ (lpszName As Any, ByVal hModule As Long, ByVal dwFlags As Long) As Boolean

-Tombol input nomor-

Private Sub BtnClearLog_Click() ListStatusLog.Clear

End Sub

Private Sub BtnDialPad0_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "0"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "0") End Sub

Private Sub BtnDialPad1_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "1"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "1") End Sub

Private Sub BtnDialPad2_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "2"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "2") End Sub

Private Sub BtnDialPad3_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "3"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "3") End Sub

Private Sub BtnDialPad4_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "4"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "4") End Sub

(5)

Private Sub BtnDialPad5_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "5"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "5") End Sub

Private Sub BtnDialPad6_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "6"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "6") End Sub

Private Sub BtnDialPad7_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "7"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "7") End Sub

Private Sub BtnDialPad8_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "8"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "8") End Sub

Private Sub BtnDialPad9_Click()

EditPhoneNo.Text = EditPhoneNo.Text + "9"

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "9") End Sub

Private Sub BtnDialPadStar_Click()

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "*") End Sub

Private Sub BtnDialPadNo_Click()

Result = VaxSIPUserAgentOCX.DigitDTMF(ListLines.ListIndex, "#") End Sub

Private Sub BtnHelpMore_Click() HelpForm.Show vbModal End Sub

-Tombol Memutar Rekaman (kontroller)-

Private Sub BtnPlayForward_Click() LineNo = ListLines.ListIndex

Result = VaxSIPUserAgentOCX.PlayWaveSkipTo(LineNo, VaxSIPUserAgentOCX.PlayWavePosition(LineNo) + 2)

If Result = False Then ErrorMessages End If

End Sub

Private Sub BtnPlayPause_Click() LineNo = ListLines.ListIndex

Result = VaxSIPUserAgentOCX.PlayWavePause(LineNo) If Result = False Then

ErrorMessages End If

End Sub

Private Sub BtnPlayRewind_Click() LineNo = ListLines.ListIndex

Result = VaxSIPUserAgentOCX.PlayWaveSkipTo(LineNo, VaxSIPUserAgentOCX.PlayWavePosition(LineNo) - 2)

If Result = False Then ErrorMessages End If

End Sub

(6)

LineNo = ListLines.ListIndex

Result = VaxSIPUserAgentOCX.PlayWaveStop(LineNo) If Result = False Then

ErrorMessages End If

End Sub

Private Sub BtnSetPlayFile_Click() LineNo = ListLines.ListIndex

Result = VaxSIPUserAgentOCX.PlayWaveOpen(LineNo, EditPlayFileName.Text) If Result = False Then

ErrorMessages End If

End Sub

Private Sub BtnStartPlay_Click() LineNo = ListLines.ListIndex

Result = VaxSIPUserAgentOCX.PlayWaveStart(LineNo, CheckPlayListen.Value) If Result = False Then

ErrorMessages End If

End Sub

-Tombol transfer panggilan-

Private Sub BtnTransferCall_Click()

ToURI = "sip:" + EditTransferPhoneNo.Text + "@" + EditSIPProxy.Text

LineNo = ListLines.ListIndex

Result = VaxSIPUserAgentOCX.TransferCall(LineNo, ToURI) If Result = False Then

ErrorMessages End If

End Sub

-Navigasi Chek list -

Private Sub CheckAGC_Click()

If CheckAGC.Value = 1 Then

Result = VaxSIPUserAgentOCX.EnableAGC(8000) If Result = False Then

ErrorMessages End If Else VaxSIPUserAgentOCX.DisableAGC End If End Sub

Private Sub CheckMuteMic_Click()

Result = VaxSIPUserAgentOCX.MuteMic(CheckMuteMic.Value) End Sub

Private Sub CheckPlayRingTone_Click()

If CheckPlayRingTone.Value <> 1 Then

Retval = PlaySound(ByVal 0&, 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or SND_NODEFAULT)

End If End Sub

(7)

Private Sub CheckSpkMute_Click() Dim Result

Result = VaxSIPUserAgentOCX.MuteSpk(CheckSpkMute.Value) End Sub

Private Sub CheckStartConf_Click()

BusyCount = 0

For LineNo = 0 To 6

If VaxSIPUserAgentOCX.IsLineBusy(LineNo) = True Then BusyCount = BusyCount + 1

End If Next LineNo

If BusyCount < 2 And CheckStartConf.Value Then CheckStartConf.Value = False

MsgBox ("Terima/Panggil lebih dari satu panggilan, centang cekbox dan tekan mulai") End If

End Sub

Private Sub CheckStartRecording_Click() If CheckStartRecording.Value = 1 Then

Result = VaxSIPUserAgentOCX.StartRecording(ListLines.ListIndex, 2, True) If Result = False Then

ErrorMessages End If Else Result = VaxSIPUserAgentOCX.StopRecording(ListLines.ListIndex) End If End Sub

Private Sub Form_Unload(Cancel As Integer)

Retval = PlaySound(ByVal 0&, 0&, SND_ASYNC Or SND_FILENAME Or SND_LOOP Or SND_NODEFAULT)

End Sub

-Navigasi slider volume-

Private Sub SliderMicVol_Click()

' Pengaturan volume mic 0 samapai 250' ' tetapi dikompres menjadi 0 ke 10'

' jadi, supaya hasilnya 250 harus dikali 25 '

Dim Result

Result = VaxSIPUserAgentOCX.SetMicVolume(SliderMicVol.Value * 25)

If Result = False Then ErrorMessages End If

End Sub

Private Sub SliderSpkVol_Click()

' Pengaturan volume speaker 0 samapai 250' ' tetapi dikompres menjadi 0 ke 10'

' jadi, supaya hasilnya 250 harus dikali 25 '

Dim Result

Result = VaxSIPUserAgentOCX.SetSpkVolume(SliderSpkVol.Value * 25)

(8)

ErrorMessages End If

End Sub

-window alert-

Private Sub ErrorMessages() Dim Error

Error = VaxSIPUserAgentOCX.GetVaxObjectError

If Error = 10 Then

MsgBox ("Anda sedang tidak online, silahkan login terlebih dahulu.") End If

If Error = 11 Then

MsgBox ("Tidak bisa melakukan komunikasi lokal. Coba gunakan softphone lain (Ten, x-lite or skype etc).")

End If

If Error = 12 Then

MsgBox ("Code lisensi tidak cocok") End If

If Error = 13 Then

MsgBox ("Tidak bisa tersambung ke VaxVoip.") End If

If Error = 14 Then

MsgBox ("Perangkat mic tidak terdeteksi.") End If

If Error = 15 Then

MsgBox ("Perangkat speaker tidak terdeteksi.") End If

If Error = 16 Then

MsgBox ("Mic tidak bisa digunakan.") End If

If Error = 17 Then

MsgBox ("Speaker tidak bisa digunakan.") End If

If Error = 18 Then

MsgBox ("Perangkat mic anda tidak support dengan pengaturan volume.") End If

If Error = 19 Then

MsgBox ("Perangkat speaker anda tidak support dengan pengaturan volume.") End If

If Error = 20 Then

MsgBox ("Tidak bisa menginisialisasi rekaman, coba periksa kesalahan.") End If

If Error = 21 Then

MsgBox ("Tidak bisa membuka file rekaman.") End If

If Error = 22 Then

MsgBox ("Provider SIP URI tidak ditemukan") End If

(9)

MsgBox ("Codec tidak cocok.") End If

If Error = 24 Then

MsgBox ("Error!! membuat permintaan SDP (Session Description Protocol).") End If

If Error = 25 Then

MsgBox ("Error!! membuat permintaan SAMBUNGAN. Periksa kembali pengaturan login.") End If

If Error = 26 Then

MsgBox ("Error!! membuat permintaan REGISTER. Periksa kembali pengaturan login") End If

If Error = 27 Then

MsgBox ("Error!! membuat permintaan KELUAR-REGISTRASI. Periksa kembali.") End If

If Error = 28 Then

MsgBox ("Error!! membuat permintaan PEMUTUSAN-SAMBUNGAN.") End If

If Error = 29 Then

MsgBox ("SALURAN ini salah.") End If

If Error = 30 Then

MsgBox ("SALURAN ini sedang sibuk.") End If

If Error = 31 Then

MsgBox ("SALURAN ini tidak bisa dibuka.") End If

If Error = 32 Then

MsgBox ("ID panggilan salah.") End If

If Error = 33 Then

MsgBox ("Pengaturan login tidak benar.") End If

If Error = 34 Then

MsgBox ("ID yang dimasukan tidak terdapat di dalam List Saluran.") End If

If Error = 35 Then

MsgBox ("Kesalahan membaca file wave.") End If

If Error = 36 Then

MsgBox ("Kesalahan membuat file wave.") End If

If Error = 37 Then

MsgBox ("Tidak mensupport format wave.") End If

End Sub

-koneksi ke SIP port-

Private Function InitVaxVoIPObject(ByVal MyIP As String, ByVal FromURI As String) As Boolean Dim ListenPort As Integer

(10)

Dim Result As Boolean Result = False ListenPort = 5060 Do While ListenPort < 7000

Result = VaxSIPUserAgentOCX.Initialize(False, MyIP, ListenPort, FromURI, EditOutBoundProxy.Text, EditSIPProxy.Text, EditLoginId.Text, EditLoginPwd.Text, True, 7)

If Result = False Then If 11 <> VaxSIPUserAgentOCX.GetVaxObjectError() Then ErrorMessages Exit Do End If Else Exit Do End If ListenPort = ListenPort + 1 Loop If ListenPort >= 7000 Then

MsgBox ("Tidak bisa membuka port SIP.") Result = False End If InitVaxVoIPObject = Result End Function

-Membuka lebih dari satu port-

Private Function OpenLines(ByVal MyIP As String, ByVal TotalNoOfLine As Integer) As Boolean Dim ListenPort As Integer

Dim Result As Boolean Dim ErrorCount As Integer

Result = False ListenPort = 7000 ErrorCount = 0

For LineNo = 0 To (TotalNoOfLine - 1)

Result = VaxSIPUserAgentOCX.OpenLine(LineNo, False, MyIP, ListenPort) If Result = False Then

If 11 <> VaxSIPUserAgentOCX.GetVaxObjectError() Then ErrorMessages Exit For Else ErrorCount = ErrorCount + 1 LineNo = LineNo - 1 End If End If

ListenPort = ListenPort + 2 'dikali 2, untuk me-listen prot RTP'

If ErrorCount >= (TotalNoOfLine + 1000) Then ' Ini kalau tidak bisa membuka port lebih dari 1000 .

MsgBox ("Tidak bisa membuka komunikasi port RTP.") Result = False

(11)

End If Next LineNo OpenLines = Result End Function -Tombol login-

Private Sub BtnOnline_Click()

Dim MyIP Dim FromURI

If BtnOnline.Caption = "Keluar Login" Then TimerTick.Enabled = False TimerProgressBar.Enabled = False SpkProgress.Value = 0 MicProgress.Value = 0 VaxSIPUserAgentOCX.UnInitialize ComboAudioIn.Clear ComboAudioOut.Clear

BtnOnline.Caption = "Masuk Login" Exit Sub End If If EditLoginId.Text = "" Then MsgBox ("Masukan ID Ekstensi.") Exit Sub

End If

If EditSIPProxy.Text = "" Then

MsgBox ("Masukan alamat SIP proxy atau URI.") Exit Sub

End If

VaxSIPUserAgentOCX.SetLicenceKey ("TRIAL-LICENSE-KEY")

'****** Membangun SIP dari URI ****** If EditDisplayName = "" Then

FromURI = EditLoginId.Text + " <sip:" + EditLoginId.Text + "@" + EditSIPProxy.Text + ">"

Else

FromURI = EditDisplayName.Text + " <sip:" + EditLoginId.Text + "@" + EditSIPProxy.Text + ">"

End If

'******************************************************************** ' Listen Port: untuk SIP port 5060.

' SIP Proxy: SIP Proxy IP atau FQDN dari server secara online.

' OutboundProxy: SIP outbound/NAT proxy IP atau FQDN dari server online untuk digunakan sambungan SIP dengan NAT.

'

'******************************************************************** *

(12)

MyIP = VaxSIPUserAgentOCX.GetMyIP()

Result = InitVaxVoIPObject(MyIP, FromURI) If Result = False Then

Exit Sub End If

Result = OpenLines(MyIP, 7) If Result = False Then Exit Sub

End If

If CheckRegisterToProxy.Value = 1 Then

Result = VaxSIPUserAgentOCX.RegisterToProxy(3600) If Result = False Then

ErrorMessages Exit Sub End If

AddToStatusLog ("SIP Proxy telah teregister.") End If If CheckEchoCancel.Value Then VaxSIPUserAgentOCX.EnableEchoNoiseCancellation Else VaxSIPUserAgentOCX.DisableEchoNoiseCancellation End If VaxSIPUserAgentOCX.DeselectAllVoiceCodec If CheckGSM610.Value Then VaxSIPUserAgentOCX.SelectVoiceCodec (0) End If If CheckiLBC.Value Then VaxSIPUserAgentOCX.SelectVoiceCodec (1) End If If CheckG711A.Value Then VaxSIPUserAgentOCX.SelectVoiceCodec (2) End If If CheckG711U.Value Then VaxSIPUserAgentOCX.SelectVoiceCodec (3) End If VaxSIPUserAgentOCX.EnableKeepAlive (10)

BtnOnline.Caption = "Keluar Login" UpdateSoundDevices TimerTick.Enabled = True TimerProgressBar.Enabled = True End Sub -Aktifitas konfrensi -

Private Sub VaxSIPUserAgentOCX_OnCallTransferAccepted(ByVal LineNo As Long) AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Pemindahan diterima.") End Sub

(13)

AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Menyambungkan.") End Sub

Private Sub VaxSIPUserAgentOCX_OnDisconnectCall(ByVal LineNo As Long) AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Diputuskan.") End Sub

Private Sub VaxSIPUserAgentOCX_OnDTMFDigit(ByVal LineNo As Long, ByVal Digit As String) AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Masukan kode: " + Digit) End Sub

Private Sub VaxSIPUserAgentOCX_OnFailToConnect(ByVal LineNo As Long) AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Gagal tersambung.") End Sub

Private Sub VaxSIPUserAgentOCX_OnFailToRegister() AddToStatusLog ("Gagal terregistrasi.")

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 ("Saluran-" + Trim(Str(LineNo + 1)) + " Jawaban: " + 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)

(14)

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 ("Saluran-" + Trim(Str(LineNo + 1)) + ": Pemutaran wave selesai.") End Sub

Private Sub VaxSIPUserAgentOCX_OnProvisionalResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String)

AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Jawab: " + ReasonPhrase) End Sub

Private Sub VaxSIPUserAgentOCX_OnRedirectionResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String, ByVal Contact As String)

AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Jawab: " + ReasonPhrase) End Sub

Private Sub VaxSIPUserAgentOCX_OnRequestFailureResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String)

AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Jawab: " + ReasonPhrase) End Sub

Private Sub VaxSIPUserAgentOCX_OnServerFailureResponse(ByVal LineNo As Long, ByVal StatusCode As Long, ByVal ReasonPhrase As String)

AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Jawab: " + 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) = "Saluran-" + Trim(Str(LineNo + 1)) + " : BICARA" Else

ListLines.List(LineNo) = "Saluran-" + Trim(Str(LineNo + 1)) + " : SIBUK" End If

AddToStatusLog ("Saluran-" + Trim(Str(LineNo + 1)) + ": Berhasil tersambung.") 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 -Pesan aktifitas-

(15)

AddToStatusLog ("Registrasi sukses.") End Sub

Private Sub VaxSIPUserAgentOCX_OnTryingToRegister() AddToStatusLog ("Menunggu registrasi.")

End Sub

Private Sub VaxSIPUserAgentOCX_OnTryingToUnRegister() AddToStatusLog ("Menunggu keluar registrasi.") End Sub

Private Sub VaxSIPUserAgentOCX_OnSuccessToUnRegister() AddToStatusLog ("Telah keluar registrasi.")

End Sub

Private Sub VaxSIPUserAgentOCX_OnFailToUnRegister() AddToStatusLog ("Gagal keluar registrasi.")

End Sub

Private Sub BtnDial_Click()

Dim ToURI Dim Result

If EditPhoneNo.Text = "" Then MsgBox ("Masukan Nomor ID.") Exit Sub

End If

'******************************************************* ' Membuat sambungan SIP ke URI (Unified ResourceIdentifier) ' Contoh : nomorID@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 ("Saluran-" + Trim(Str(LineNo + 1)) + ": Memanggil.")

ListLines.List(LineNo) = "Saluran-" + Trim(Str(LineNo + 1)) + " : TERSAMBUNG"

End If End Sub

-navigasi panggilan-

Private Sub BtnHangUp_Click()

Dim Result

LineNo = ListLines.ListIndex

Result = VaxSIPUserAgentOCX.Disconnect(LineNo) If Result = False Then

ErrorMessages End If

(16)

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 ("Tidak ada saluran yang kosong") 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) = "Saluran-" + Trim(Str(LineNo + 1)) + " : TERSAMBUNG"

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

(17)

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 -menyimpan percakapan-

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 ("Berhasil tersimpan") End Sub

-modul pengaturan lain-

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 -pemilihan codec-

Private Sub CheckGSM610_Click()

'****Codec No 0 untuk GSM 6.10 *****

(18)

VaxSIPUserAgentOCX.SelectVoiceCodec (0) Else

VaxSIPUserAgentOCX.DeselectVoiceCodec (0) End If

End Sub

Private Sub CheckiLBC_Click()

'****Codec No 1 untuk iLBC ***** If CheckiLBC.Value = 1 Then VaxSIPUserAgentOCX.SelectVoiceCodec (1) Else VaxSIPUserAgentOCX.DeselectVoiceCodec (1) End If End Sub

Private Sub CheckG711A_Click()

'****Codec No 2 untuk 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 untuk G711 U-LAW ***** If CheckG711U.Value = 1 Then VaxSIPUserAgentOCX.SelectVoiceCodec (3) Else VaxSIPUserAgentOCX.DeselectVoiceCodec (3) End If End Sub

-Pemilihan perangkat suara-

Private Sub UpdateSoundDevices()

ComboAudioIn.Clear

ComboAudioIn.AddItem ("Perangkat standar")

For DeviceId = 0 To VaxSIPUserAgentOCX.GetAudioInDevTotal() - 1

ComboAudioIn.AddItem (VaxSIPUserAgentOCX.GetAudioInDevName(DeviceId)) Next DeviceId ComboAudioIn.ListIndex = 0 ComboAudioOut.Clear

ComboAudioOut.AddItem ("Perangkat standar")

For DeviceId = 0 To VaxSIPUserAgentOCX.GetAudioOutDevTotal() - 1

ComboAudioOut.AddItem (VaxSIPUserAgentOCX.GetAudioOutDevName(DeviceId)) Next DeviceId ComboAudioOut.ListIndex = 0 End Sub

Private Function FindLine() As Integer

(19)

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 -DU meter-

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

-Pengaturan waktu proses-

Private Sub TimerTick_Timer()

If ListLines.ListCount = 0 Then For LineNo = 0 To 6

(20)

ListLines.AddItem ("Saluran-" + Trim(Str(LineNo + 1)) + " : Kosong") 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, "KELUAR") = 0 Then

ListLines.List(LineNo) = "Saluran-" + Trim(Str(LineNo + 1)) + " : KELUAR" End If

Else

If VaxSIPUserAgentOCX.IsLineBusy(LineNo) = True Then

If VaxSIPUserAgentOCX.IsWaveFilePlaying(LineNo) = True Then If InStr(ItemText, "MEMUTAR") = 0 Then

ListLines.List(LineNo) = "Saluran-" + Trim(Str(LineNo + 1)) + " : MEMUTAR" End If

Else

If VaxSIPUserAgentOCX.IsLineHold(LineNo) = True Then If InStr(ItemText, "BICARA") = 0 Then

ListLines.List(LineNo) = "Saluran-" + Trim(Str(LineNo + 1)) + " : BICARA" End If

Else

If (InStr(ItemText, "SIBUK") = 0) And (InStr(ItemText, "TERSAMBUNG") = 0) Then

ListLines.List(LineNo) = "Line-" + Trim(Str(LineNo + 1)) + " : SIBUK" End If

End If End If Else

If InStr(ItemText, "KOSONG") = 0 Then

ListLines.List(LineNo) = "Saluran-" + Trim(Str(LineNo + 1)) + " : KOSONG" End If End If End If Next LineNo End Sub

(21)

4. Hasil Wawancara

Berikut ini adalah hasil wawancara penulis dengan beberapa narasumber dari

LPP RRI Jakarta:

Wawancara tentang sistem jaringan data yang sedang berjalan

Nama

:

Hafizh

Ahmad

Jabatan

: Staff IT Teknik RRI Jakarta

Tanggal Wawancara : 17 Juni 2009

Jam Wawancara

: 10.00 WIB

Tempat

: Ruang Multimedia RRI Jakarta lantai 6

1.

Masalah apakah yang sering terjadi oleh jaringan di RRI Jakarta sekarang ini?

Sebenarnya masalah yang kami hadapi jarang bahkan hampir tidak ada. Masalah

yang timbul hanyalah masalah koneksi jaringan yang kadang kala putus.

Dikarenakan sambungan ISP yang mengalami masalah, itu pun jarang terjadi.

2.

Bagaimanakah pengalokasian dan pengaturan

bandwidth

di RRI yang dilakukan?

Tidak ada pengalokasian khusus untuk

bandwidth

yang ada di RRI baik untuk

bandwidth

di jaringan LAN maupun

bandwidth

untuk akses internet. Hal ini

dikarenakan belum ada kebutuhan mendesak untuk menggunakan pengalokasian

bandwidth

secara khusus. Bila nantinya ada kebutuhan kami tinggal

membicarakan hal ini ke ISP yang ada untuk melakukan pengalokasian

bandwidth

khusus seperti menerapkan QoS misalnya sementara untuk jaringan

dalam saya kira

bandwidth

yang ada pun masih cukup untuk mengatasi arus lalu

lintas yang ada, hal ini dikarenakan infrastruktur kami sudah mendukung

(22)

penggunaan FastEthernet malah di beberapa bagian sudah mendukung

penggunaan GigabitEthernet.

3.

Berapa

client

kah yang dikelola oleh

network admin

di RRI?

Saya tidak dapat mengatakan secara pasti tetapi dari daftar

user

yang kami miliki

terdapat sekitar 77 komputer yang kami kelola.

4.

Teknologi apakah yang digunakan oleh RRI untuk melalukan koneksi dengan

kantor-kantor cabang di daerah?

Di kantor cabang utama RRI menggunakan jalur VPN. Tetapi teknologi ini

hampir tidak terpakai dikarenakan SDM yang kurang Jaringan internet kami

tetap tersambung ke internet dengan menggunakan ISP Telkom Speedy dengan

koneksi 1 Mbps sehingga untuk komunikasi pertukaran data atau informasi

menggunakn email.

5.

Seberapa besarkah penggunaan komunikasi suara di RRI bila dibandingkan

dengan komunikasi menggunakan data dan video?

Penggunaan komunikasi suara di RRI menurut saya masih cukup besar karena

penggunaan komunikasi suara dinilai lebih efektif dibanding komunikasi data

dan video. Efektif dalam hal kompleksitas penggunaannya.

6.

Apakah infrastruktur yang ada sudah dapat menerapkan VoIP?

Saya rasa itu mungkin saja kalau melihat dari keperluan

bandwidth

tentu VoIP

mungkin diterapkan. Tetapi dilihat dari invetasi system sampai saat ini kami

belum melihat ke arah sana, karena harus ada penelitian dan perencanaan lebih

mendalam terhadap investasi yang harus kami keluarkan dan juga manfaatnya

bagi RRI sendiri.

(23)

Wawancara tentang sistem jaringan suara yang sedang berjalan

Nama

:

Heri

Jatmiko

Jabatan

: Staff Fasilitas Teknik RRI Jakarta

Tanggal Wawancara : 17 Juni 2009

Jam Wawancara

: 13.00 WIB

Tempat

: Ruang PABX RRI Jakarta lantai 6

1.

Bagaimanakah jaringan komunikasi suara yang sedang berjalan di RRI?

Jaringan suara yang sedang berjalan di RRI saat ini secara garis besar dibagi dua,

yang pertama ialah menggunakan PABX

server

Phillips SHOPO S-1000 yang

mengatur lebih dari xxx ekstensi telepon yang berada di RRI cabang Jakarta.

Kemudian kamu juga memiliki 45

line

telepon yang kamu sewa dari PT.

Telkom, ke 45

line

ini kami gunakan untuk melakukan koneksi keluar seperti

melakukan sambungan lokal, SLJJ dan SLI.

2.

Apakah

line

PABX tersambung dengan

line

Telkom yang ada?

Tidak, PABX dan

line

Telkom yang ada terpisah satu sama lain jadi ringkasnya

adalah

line

telepon milik PT. Telkom kami gunakan untuk melakukan panggilan

keluar sementara

line

PABX kami gunakan untuk melakukan panggilan antar

karyawan RRI yang berada di kantor RRI cabang Jakarta sendiri.

3.

Apakah dengan pembagian jalur telepon yang ada itu menguntungkan RRI atau

tidak?

Saya tidak bisa memastikannya tetapi yang jelas pembagian yang ada

menyebabkan tidak fleksibelnya jaringan yang ada karena terjadi pemisah

line

(24)

Telkom dan PABX terutama

line

Telkom yang menjadi sulit untuk diawasi

penggunaannya.

4.

Fitur-fitur apa saja dari PABX

server

yang digunakan?

Fitur-fitur dari PABX

server

yang digunakan sampai saat ini masih standar

seperti, fitur ekstensi,

call forwarding

, dan

call hold

.

5.

Apakah masalah yang sering dihadapi oleh jaringan suara yang ada di RRI?

Masalah yang ada ialah rusaknya beberapa jalur yang ada saat ini, tetapi hal itu

dapat kami atasi dan tidak terlalu berpengaruh serius terhadap berjalannya

jaringan yang ada. Mungkin masalah yang ada ialah pada sisi biaya yang

dikeluarkan oleh pihak manajemen RRI tiap bulannya yang cukup besar, tetapi

saya sendiri tidak memiliki wewenang untuk mengatakan hal tersebut.

(25)

Wawancara tentang komunikasi suara keluar yang dikeluarkan oleh bagian

penyiaran

Nama

:

Darmawan

Ismail

Jabatan

: Staff Produksi Program dan Berita RRI Jakarta

Tanggal Wawancara : 17 Juni 2009

Jam Wawancara

: 15.00 WIB

Tempat

: Studio Pro-4 RRI Jakarta lantai 6

1.

Seberapa besarkah penggunaan komunikasi suara di RRI bila dibandingkan

dengan komunikasi menggunakan data dan video?

Kami tidak menggunakan video untuk berkomunikasi. Kami hanya

menggunakan komunikasi suara, email dan chatting.

2.

Digunakan ke mana saja sambungan telepon yang ada saat ini?

Sambungan telepon yang ada di bagian Penyiaran RRI digunakan untuk

melakukan sambungan ke kantor-kantor media baik dalam negeri maupun luar

negeri. Baik itu untuk mendapatkan bahan berita maupun mengkonfirmasikan

bahan berita yang kami peroleh.

3.

Kantor berita asing mana saja yang sering dihubungi oleh bagian Penyiaran RRI?

Kantor berita asing yang kami hubungi biasanya kantor-kantor berita yang sudah

memiliki hubungan erat dengan RRI, seperti Reuters dan BBC di Inggris,

kemudian VoA dan AP di Amerika Serikat, NHK di Jepang, negara-negara

ASEAN dan juga di beberapa negara seperti Australia, China, Korea, Arab

Saudi, Perancis, Jerman, Mesir, Rusia, Afrika Selatan, Argentina, Brazil, dan

Italia

Referensi

Dokumen terkait

bibit ayam ras hasil produksi pembibitan ayam bibit induk ( parent stock) yang memenuhi persyaratan sesuai ketentuan yang berlaku untuk tipe pedaging.. Bibit niaga ayam ras

Adapun sebagai alasan dari penulis memilih Desa Kualu Nenas Kecamatan Tambang Kabupaten Kampar sebagai objek penelitian penulis adalah dikarenakan Desa Kualu Nenas

Penelitian selanjutnya masih sangat diperlukan. Bagi peneliti selanjutnya yang tertarik untuk meneliti topik yang sama, disarankan untuk memperhatikan variabel lain

Landas pacu sebuah bandar udara harus sedemikian rupa sehingga searah dengan arah angin dominan/prevailing wind,ketika pendaratan dan lepas landas, pesawat dapat melakukan

bahwa calon mahasiswa baru Program S1 Kependidikan Bagi Guru Dalam Jabatan Melalui Pengakuan Pengalaman Kerja dan Hasil Belajar (PPKHB) Universitas Negeri Padang semester

Bagi semua pihak di Aceh Tenggara disarankan dapat memberikan informasi, pelatihan dan pendekatan kepada masyarakat Alas, untuk pelaksanaan sunat perempuan yang dilakukan oleh

2erdasarkan data seksi Kependudukan dan &lt;atatan Sipil yang ada di kantor Kecamatan Mampang Prapatan 9umlah penduduk wilayah Kecamatan Mampang Prapatan adalah se/anyak

d) Janjang yang terlalu banyak dimasukkan sekaligus ke dalam drum , sehingga tandan buah segar tersebut hanya bergulir sesamanya. Hal-hal yang harus diperhatikan adalah