mjk6035

sip.js

Nov 9th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. <html>
  2. <head>
  3. <link rel="stylesheet" href="my-styles.css">
  4.  
  5. <script language="javascript" src="js/sip-0.11.6.min.js"></script>
  6.  
  7. <script>
  8. var session; // aglobal variable for the user session
  9. var remoteVideo = document.getElementById('remoteVideo');
  10. var localVideo = document.getElementById('localVideo');
  11.  
  12. //registration
  13. var userAgent = new SIP.UA({
  14. uri: 'test@10.10.30.10',
  15. transportOptions: {
  16. wsServers: ['ws://10.10.30.10:8090'],
  17. traceSip: true,
  18. iceCheckingTimeout: 35000,
  19. register: true,
  20. stunServers: [],
  21. turnServers: []
  22. },
  23. authorizationUser: 'test',
  24. password: 'xtend'
  25. });
  26.  
  27.  
  28. function createUserSession(userName,userAgent)
  29. {
  30.  
  31.  
  32. //send invitation
  33. session = userAgent.invite(userName, {
  34. media: {
  35. constraints: {
  36. audio: true,
  37. video: false
  38. }
  39. }
  40. });
  41.  
  42. return session;
  43. }
  44. //create the user session
  45. function callUser()
  46. {
  47. session=createUserSession(document.getElementById('txtUserName').value,userAgent);
  48.  
  49. }
  50.  
  51. //accept invitation
  52.  
  53. userAgent.on('invite', function(session) {
  54. alert('incoming call');
  55. session.accept();
  56.  
  57. });
  58.  
  59. //add media event
  60. session.on('trackAdded', function() {
  61. // We need to check the peer connection to determine which track was added
  62.  
  63. var pc = session.sessionDescriptionHandler.peerConnection;
  64.  
  65. // Gets remote tracks
  66. var remoteStream = new MediaStream();
  67. pc.getReceivers().forEach(function(receiver) {
  68. remoteStream.addTrack(receiver.track);
  69. });
  70. remoteVideo.srcObject = remoteStream;
  71. remoteVideo.play();
  72.  
  73. // Gets local tracks
  74. var localStream = new MediaStream();
  75. pc.getSenders().forEach(function(sender) {
  76. localStream.addTrack(sender.track);
  77. });
  78. localVideo.srcObject = localStream;
  79. localVideo.play();
  80. });
  81.  
  82. function endCall()
  83. {
  84. session.terminate();
  85. }
  86. </script>
  87. </head>
  88. <body>
  89.  
  90. fsdfsafd
  91. <video id="remoteVideo"></video>
  92. <video id="localVideo" muted="muted"></video>
  93. <input type='text' id='txtUserName' value='test1@10.10.30.10'/>
  94. <button id="endCall" onclick="javascript:endCall();">End Call</button>
  95. <button id="callUser" onclick="callUser();">CAll User</button>
  96.  
  97.  
  98.  
  99. </body>
  100. </html>
Add Comment
Please, Sign In to add comment