2.1초기화 및 종료
2.1.1초기화
webRTC 초기화를 실행한다.
로그인 서버 정보, 로그인 유저 정보가 초기화된다.
public void InitnxBrowser()
waiv.InitnxBrowser();
2.1.2종료
CallBack 제거, webRTC 사용을 중지한다.
public bool CloseBrowser()
- Return
true:종료 성공, false:종료 실패
// nxBrowser dispose waiv.CloseBrowser();
2.2기본 설정
2.2.1DevTools Open
Web Developer Tool을 오픈한다. Web console 내용을 확인할 수 있다.
public bool nxShowDevTools()
bool result = waiv.nxShowDevTools();
2.2.2Logging
2.3로그인 설정
2.3.1접속 서버를 세팅
서버 정보를 세팅한다.
public bool setLoginServerInfo(string webRTCServerIP, string webSocketServerIP)
- WebRTCServerIP
Web RTC Server Domain ex) nexus.co.kr
- WebSocketServerIP
Web Server URL ex) ws://10.10.10.1:8060 , wss://10.10.10.1:8061
- Return
true:성공, false:실패
bool result = waiv.setLoginServerInfo("nexuscommunity.net", "ws://118.219.54.237:8060");
2.3.2사용자 정보 세팅
로그인을 위해 사용자의 계정정보를 입력한다.
public bool setLoginUserInfo(string userID, string userPassword, string userDN, string userDisplayName)
- UserID
User ID
- UserPassword
User Password
- UserDN
User DN(내선 번호)
- UserDisplayName
User Display Name(표시 번호)
- Return
true:성공, false:실패
bool result = waiv.setLoginUserInfo("3017", "3017@nexus", "3017", "3017");
2.4콜백
2.4.1이벤트 콜백 등록
WebRTC 메세지 및 SIP 메세지 이벤트를 콜백하기 위함이다.
WebRTC 메세지와 SIP 메세지 콜백 기능 분리 예정
public bool registerCallBack() public bool registerSIPCallBack()
bool resultCallBack = waiv.registerCallBack(); bool resultSIP = waiv.registerSIPCallBack();
2.4.2이벤트 콜백 구독
콜백 등록을 완료하고, 콜백 데이타 이벤트를 구독하기 위함이다.
핸들러를 통해 이벤트를 구독한다. 핸들러에 전달할 메소드는 직접 정의한다.
// SIP Message CallBack handler public delegate void WaivSIPCallBack(string sipMsg); public event WaivSIPCallBack onWaivSIPCallBack; // JS CallBack handler, dynamic object handler public delegate void WaivJsonCallBack(string jsMsg, dynamic dyn); public event WaivJsonCallBack onWaivJsonCallBack;
// SIP Message event Subscribe waiv.onWaivSIPCallBack += new Waiv.WaivSIPCallBack(waivSIPCallBack); // Json Message event, XML to dynamic object event Subscribe waiv.onWaivJsonCallBack += new Waiv.WaivJsonCallBack(waivJsonCallBack);
2.5로그인/로그아웃
2.5.1로그인 요청
세팅한 로그인 서버 정보, 로그인 유저 정보를 통해 서버에 로그인을 요청한다. 요청 결과를 return하고, WebRTC 로그인 결과는 콜백 이벤트에서 확인할 수 있다.
public bool requestLogin()
- Return
true:요청 성공, false:요청 실패
bool result = waiv.requestLogin();
2.5.2로그아웃
서버에 로그아웃을 요청한다. 요청 결과를 return하고, WebRTC 로그인 결과는 콜백 이벤트에서 확인할 수 있다.
public bool requestLogout()
- Return
true:요청 성공, false:요청 실패
bool result = waiv.requestLogout();
2.6통화
2.6.1전화 걸기
전화 송신을 전화 번호와 함께 요청한다.
public bool requestMakeCall(string strDN)
- strDN
Dial Number
- Return
true:성공, false:실패
string strDn = txtNumber.Text; bool result = waiv.requestMakeCall(strDn);
2.6.2전화 받기
수신된 전화를 받는다.
public bool requestAnswer()
- Return
true:성공, false:실패
bool result = waiv.requestAnswer();
2.6.3전화 끊기(전화거절)
수신되고 있는 전화를 거절하거나, 연결된 전화를 끊는다.
public bool requestClear()
- Return
true:성공, false:실패
bool result = waiv.requestClear();
2.7통화중 기능
2.7.1통화 전환(blind transfer)
통화중인 전화를 제3자에게 전환한다.
public bool requestTransfer(string strDN)
- strDN
전환할 대상의 id 값 또는 전화번호
- Return
true:성공, false:실패
string strDn = txtNumber.Text; bool result = waiv.requestTransfer(strDn);
2.7.2보류
통화중인 전화를 보류한다.
public bool requestHold()
- Return
true:성공, false:실패
bool result = waiv.requestHold();
2.7.3보류 해제
보류 상태를 해제한다.
public bool requestResume()
- Return
true:성공, false:실패
bool result = waiv.requestResume();
자신이 보류 상태를 해제 하는 것이다. 상대방의 보류 상태를 해제 할수 없다.
2.7.4DTMF
DTMF 를 INFO 로 전달한다.
public bool requestDTMF(string strDTMF)
- strDTMF
DTMF 로 전달할 정보 ( 0~9, #,* )
- Return
true:성공, false:실패
string strDTMF = btn.Text; bool result = waiv.requestDTMF(strDTMF);
2.7.5Mute
Mic를 음소거한다.
public bool requestMute(string enable)
- enable
true, false
- Return
true:성공, false:실패
string enable = "true"; string enable = "false"; bool result = waiv.requestDTMF(strDTMF);
2.8채팅
2.8.1채팅 그룹 요청
채팅방 List를 요청한다.
public bool requestChatGroupInfo(string groupUUID, string len);
- groupUUID
페이징 처리시 필요. List 마지막으로 받은 Group uuid를 포함한다. 초기 요청시 공란 입력
- len
요청할 채팅방 List 목록 개수
- Return
true:성공, false:실패
bool result = waiv.requestChatGroupInfo("", "300");
2.8.2채팅방 만들기
채팅방을 만든다.
public bool requestChatMessageExtension(string type, string members, string chatMessage);
- type
chatMessage 유형 (1 : 일반 메세지)
- members
멤버 목록. ';' 구분자를 이용하여 여러 멤버 구성
- chatMessage
채팅 메세지
- Return
true:성공, false:실패
string strUsers = String.Join(";", users); bool result = waiv.requestChatMessageExtension("1", strUsers, inputMessage);
2.8.3채팅 메세지 이력 요청
지정된 GroupUUID 채팅방의 메세지 이력을 요청한다.
public bool requestChatSavedMessage(string groupUUID, string messageUUID, string len, string sortBy);
- groupUUID
채팅방 GroupUUID
- messageUUID
채팅 메세지 UUID
- len
요청할 채팅 이력 개수
- sortBy
채팅 메세지 이력 순서(Default: '-1')Return
- true:성공, false:실패
bool result = waiv.requestChatSavedMessage(GroupUUID, UUID, "30", "-1");
2.8.4채팅 메세지 보내기
채팅 메세지를 채팅방에 보낸다.
public bool requestChatMessage(string groupUUID, string dn, string chatMessage);
- groupUUID
채팅방 GroupUUID
- dn
상대방 DN * 현재 사용 안함. 공란으로 입력
- chatMessage
채팅 메세지
- Return
true:성공, false:실패
bool result = waiv.requestChatMessage(GroupUUID, "", inputMessage);
2.8.5Mute
Mic를 음소거한다.
public bool requestMute(string enable)
- enable
true, false
- Return
true:성공, false:실패
string enable = "true"; string enable = "false"; bool result = waiv.requestDTMF(strDTMF);