Geen omschrijving

init.js 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. var ws_uri_ = 'wss://12345sp1.jbdu.cn:7443',
  2. incomingSession = null,
  3. password = "123456" //密码 //zhumadian12345800100
  4. $("#initBtn").click(function(){
  5. init()
  6. })
  7. // 初始化
  8. function testStart() {
  9. coolPhone.start();
  10. coolPhone.on('registered', function(data) {
  11. if (data.response.status_code === 200) {
  12. loginTrue()
  13. }
  14. });
  15. coolPhone.on('newRTCSession', function(e) {
  16. console.log(e.originator)
  17. console.log(e.session._direction)
  18. if (e.session._direction == "outgoing") {
  19. // sipCallRTCSession(e)
  20. sipCallRTCSession(e, 1)
  21. }
  22. if (e.originator == "remote") {
  23. incomingSession = e.session
  24. incomingTrue()
  25. sipCallRTCSession(e, 2)
  26. // sipIncomingRTCSession(incomingSession) confirmed
  27. }
  28. e.session.on("accepted", function() {
  29. console.log("accepted")
  30. })
  31. e.session.on("confirmed", function() {
  32. console.log("confirmed")
  33. })
  34. e.session.on("progress", function() {
  35. console.log("progress")
  36. })
  37. e.session.on("ended", function() {
  38. hangupCallTrue()
  39. console.log("ended")
  40. })
  41. })
  42. }
  43. // 视频呼叫
  44. function videoCall() {
  45. // $("#callPhone").val()
  46. var callNumber = "sip:" + $("#callPhone").val() + "@example.com"
  47. // var callNumber = $("#callPhone").val().toString()
  48. coolPhone.call(callNumber, options)
  49. }
  50. // 视频挂断
  51. function hangupCall() {
  52. coolPhone.terminateSessions();
  53. }
  54. // 注销
  55. function unregisterSip() {
  56. coolPhone.unregister(true);
  57. logoutTrue()
  58. }
  59. function init() {
  60. extNum = $("#registerPhone").val()
  61. alert(extNum)
  62. sip_uri_ = "sip:" + extNum + "@12345sp1.jbdu.cn" //
  63. var socket = new JsSIP.WebSocketInterface(ws_uri_);
  64. JsSIP.debug.disable('JsSIP:*')
  65. configuration = {
  66. sockets: [socket],
  67. outbound_proxy_set: ws_uri_,
  68. contact_uri: 'sip:' + extNum + '@12345sp1.jbdu.cn;transport=wss',
  69. uri: sip_uri_,
  70. password: '123456',
  71. // contact_uri: 'sip:'+extNum+'@'+returnCitySN["cip"]+';transport=wss',
  72. register: true, //指示启动时JsSIP用户代理是否应自动注册
  73. session_timers: false, //启用会话计时器(根据RFC 4028)
  74. register_expires: 60,
  75. };
  76. coolPhone = new JsSIP.UA(configuration);
  77. // Register callbacks to desired call events
  78. eventHandlers = {
  79. 'progress': function(e) {
  80. console.log('call is in progress');
  81. },
  82. 'failed': function(e) {
  83. // hangupCallTrue()
  84. console.log('call failed with cause: ' + e);
  85. },
  86. // 'ended': function(e) {
  87. // hangupCallTrue()
  88. // console.log('call ended with cause: ' + e.data);
  89. // },
  90. // 'confirmed': function(e) {
  91. // console.log('call confirmed');
  92. // }
  93. };
  94. options = {
  95. 'eventHandlers': eventHandlers,
  96. 'mediaConstraints': {
  97. 'audio': true,
  98. 'video': true
  99. }
  100. };
  101. }
  102. // var session = ua.call('sip:bob@example.com', options);