| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- var eventHandlers, options;
- $(document).ready(function() {
- init()
- })
- function testStart() {
- //成功注册成功
- userAgent.on('registered', function(data) {
- if (data.response.status_code === 200) {
- loginTrue()
- }
- });
- //注册失败
- userAgent.on('registrationFailed', function(data) {
- console.log("registrationFailed, ", data);
- });
- //为传入或传出会话/呼叫激发。data:
- userAgent.on('newRTCSession', function(data) {
- console.info('onNewRTCSession: ', data);
- if(data.session._direction == "outgoing") {
- sipCallRTCSession(data, 1) //1是呼出
- }
- if(data.originator == "remote") {
- sipCallRTCSession(data, 2) //2是呼入
- // sipIncomingRTCSession(incomingSession) confirmed
- }
- //接受呼叫时激发
- data.session.on('accepted', function(data) {
- console.info("3");
- if(data.originator == 'remote' && currentSession == null) {
- currentSession = incomingSession;
- incomingSession = null;
- }
- });
- //确认呼叫后激发
- data.session.on('confirmed', function(data) {
- console.info("4");
- $(".callStyle").text("通话中");
- if(data.originator == 'remote' && currentSession == null) {
- currentSession = incomingSession;
- incomingSession = null;
- }
- });
- //在将远程SDP传递到RTC引擎之前以及在发送本地SDP之前激发。此事件提供了修改传入和传出SDP的机制。
- data.session.on('sdp', function(data) {
- console.info("5");
- });
- //接收或生成对邀请请求的1XX SIP类响应(>100)时激发。该事件在SDP处理之前触发(如果存在),以便在需要时对其进行微调,甚至通过删除数据对象中响应参数的主体来删除它
- data.session.on('progress', function(data) {
- console.info("6");
- if(data.originator == 'remote') {}
- });
- });
- }
- function init() {
- sip_uri_ = "sip:" + selectExten + "@12345sp1.jbdu.cn"; // 12345sp.zwfw.anyang.gov.cn
- sip_password_ = "123456"; //zhumadian12345800100
- ws_uri_ = "wss://12345sp1.jbdu.cn:7443";
- console.info("get input info: sip_uri = ", sip_uri_, " sip_password = ", sip_password_, " ws_uri = ", ws_uri_);
- var socket = new JsSIP.WebSocketInterface(ws_uri_);
- var configuration = {
- sockets: [socket],
- outbound_proxy_set: ws_uri_,
- uri: sip_uri_, //与用户代理关联的SIP URI(字符串)。这是您的提供商提供给您的SIP地址
- password: sip_password_, //SIP身份验证密码
- contact_uri: 'sip:' + selectExten + '@12345sp1.jbdu.cn;transport=wss',
- register: true, //指示启动时JsSIP用户代理是否应自动注册
- session_timers: false, //启用会话计时器(根据RFC 4028)
- };
- userAgent = new JsSIP.UA(configuration);
- eventHandlers = {
- 'progress': function(e) {
- console.log('call is in progress');
- },
- 'failed': function(e) {
- console.log('call failed: ', e);
- callVideoFail()
- },
- 'ended': function(e) {
- console.log('call ended : ', e);
- dropCall();
- },
- 'confirmed': function(e) {
- console.log('call confirmed : ', e);
- }
- };
- options = {
- 'eventHandlers': eventHandlers,
- 'mediaConstraints': {
- 'audio': true,
- 'video': true
- },
- 'mediaStream': localStream
- };
- }
|