1;;!function(){function e(e,o){var i=0,n=!1,t=window.setInterval(function(){e()&&(window.clearInterval(t),o(n)),i++>50&&(window.clearInterval(t),n=!0,o(n))},10)}function o(e){var o=e.toLowerCase();if(0===o.indexOf("msie")&&0===o.indexOf("trident"))return!1;var i=/(?:msie|rv:)\s?([\d\.]+)/.exec(o);return!!(i&&parseInt(i[1],10)>=10)}function i(e){function o(o){var n=/([0-9]{1,3}(\.[0-9]{1,3}){3})/.exec(o);if(n){var t=n[1];void 0===i[t]&&e(t),i[t]=!0}else console.warn("Could not match IP address in",o)}if("undefined"!=typeof document&&"function"==typeof document.getElementById){var i={},n=window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection,t=!!window.webkitRTCPeerConnection;if(!n){var r=document.getElementById("iframe");if(!r)throw"NOTE: you need to have an iframe in the page right above the script tag.";var s=r.contentWindow;n=s.RTCPeerConnection||s.mozRTCPeerConnection||s.webkitRTCPeerConnection,t=!!s.webkitRTCPeerConnection}if(n){var a,d={optional:[{RtpDataChannels:!0}]};t&&(a={iceServers:[{urls:"stun:stun.services.mozilla.com"}]},void 0!==R&&R.browser.isFirefox&&R.browser.version<=38&&(a[0]={url:a[0].urls}));var c=new n(a,d);c.onicecandidate=function(e){e.candidate&&o(e.candidate.candidate)},c.createDataChannel(""),c.createOffer(function(e){c.setLocalDescription(e,function(){},function(){})},function(){}),setTimeout(function(){c.localDescription.sdp.split("\n").forEach(function(e){0===e.indexOf("a=candidate:")&&o(e)})},1e3)}}}function n(e){if(O)if(!s.enumerateDevices&&window.MediaStreamTrack&&window.MediaStreamTrack.getSources&&(s.enumerateDevices=window.MediaStreamTrack.getSources.bind(window.MediaStreamTrack)),!s.enumerateDevices&&s.enumerateDevices&&(s.enumerateDevices=s.enumerateDevices.bind(s)),s.enumerateDevices){C=[],k=[],W=[],y=[],T=!1,M=!1,P=!1,x=!1,D=!1;var o={};s.enumerateDevices(function(i){i.forEach(function(e){var i={};for(var n in e)try{"function"!=typeof e[n]&&(i[n]=e[n])}catch(e){}o[i.deviceId+i.label]||("audio"===i.kind&&(i.kind="audioinput"),"video"===i.kind&&(i.kind="videoinput"),i.deviceId||(i.deviceId=i.id),i.id||(i.id=i.deviceId),i.label?("videoinput"!==i.kind||D||(D=!0),"audioinput"!==i.kind||x||(x=!0)):(i.label="Please invoke getUserMedia once.",void 0!==R&&R.browser.isChrome&&R.browser.version>=46&&!/^(https:|chrome-extension:)$/g.test(location.protocol||"")&&"undefined"!=typeof document&&"string"==typeof document.domain&&document.domain.search&&-1===document.domain.search(/localhost|127.0./g)&&(i.label="HTTPs is required to get label of this "+i.kind+" device.")),"audioinput"===i.kind&&(T=!0,-1===k.indexOf(i)&&k.push(i)),"audiooutput"===i.kind&&(M=!0,-1===W.indexOf(i)&&W.push(i)),"videoinput"===i.kind&&(P=!0,-1===y.indexOf(i)&&y.push(i)),C.push(i),o[i.deviceId+i.label]=i)}),void 0!==R&&(R.MediaDevices=C,R.hasMicrophone=T,R.hasSpeakers=M,R.hasWebcam=P,R.isWebsiteHasWebcamPermissions=D,R.isWebsiteHasMicrophonePermissions=x,R.audioInputDevices=k,R.audioOutputDevices=W,R.videoInputDevices=y),e&&e()})}else e&&e();else e&&e()}var t="Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45";if(b="object"==typeof process&&"object"==typeof process.versions&&process.versions.node&&!process.browser){var r=process.versions.node.toString().replace("v","");t="Nodejs/"+r+" (NodeOS) AppleWebKit/"+r+" (KHTML, like Gecko) Nodejs/"+r+" Nodejs/"+r}!function(e){"undefined"==typeof window&&("undefined"==typeof window&&"undefined"!=typeof global&&(global.navigator={userAgent:t,getUserMedia:function(){}},e.window=global),"undefined"==typeof location&&(e.location={protocol:"file:",href:"",hash:""}),"undefined"==typeof screen&&(e.screen={width:0,height:0}))}("undefined"!=typeof global?global:window);var s=window.navigator;void 0!==s?(void 0!==s.webkitGetUserMedia&&(s.getUserMedia=s.webkitGetUserMedia),void 0!==s.mozGetUserMedia&&(s.getUserMedia=s.mozGetUserMedia)):s={getUserMedia:function(){},userAgent:t};var a=!!/Android|webOS|iPhone|iPad|iPod|BB10|BlackBerry|IEMobile|Opera Mini|Mobile|mobile/i.test(s.userAgent||""),d=!(-1===s.userAgent.indexOf("Edge")||!s.msSaveOrOpenBlob&&!s.msSaveBlob),c=!!window.opera||s.userAgent.indexOf(" OPR/")>=0,u=void 0!==window.InstallTrigger,p=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,w=!!window.chrome&&!c,f="undefined"!=typeof document&&!!document.documentMode&&!d,m={Android:function(){return s.userAgent.match(/Android/i)},BlackBerry:function(){return s.userAgent.match(/BlackBerry|BB10/i)},iOS:function(){return s.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function(){return s.userAgent.match(/Opera Mini/i)},Windows:function(){return s.userAgent.match(/IEMobile/i)},any:function(){return m.Android()||m.BlackBerry()||m.iOS()||m.Opera()||m.Windows()},getOsName:function(){var e="Unknown OS";return m.Android()&&(e="Android"),m.BlackBerry()&&(e="BlackBerry"),m.iOS()&&(e="iOS"),m.Opera()&&(e="Opera Mini"),m.Windows()&&(e="Windows"),e}},v="Unknown OS",l="Unknown OS Version",S=function(){for(var e,o=s.appVersion,i=s.userAgent,n="-",t=[{s:"Windows 10",r:/(Windows 10.0|W
1indows NT 10.0)/},{s:"Windows 8.1",r:/(Windows 8.1|Windows NT 6.3)/},{s:"Windows 8",r:/(Windows 8|Windows NT 6.2)/},{s:"Windows 7",r:/(Windows 7|Windows NT 6.1)/},{s:"Windows Vista",r:/Windows NT 6.0/},{s:"Windows Server 2003",r:/Windows NT 5.2/},{s:"Windows XP",r:/(Windows NT 5.1|Windows XP)/},{s:"Windows 2000",r:/(Windows NT 5.0|Windows 2000)/},{s:"Windows ME",r:/(Win 9x 4.90|Windows ME)/},{s:"Windows 98",r:/(Windows 98|Win98)/},{s:"Windows 95",r:/(Windows 95|Win95|Windows_95)/},{s:"Windows NT 4.0",r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:"Windows CE",r:/Windows CE/},{s:"Windows 3.11",r:/Win16/},{s:"Android",r:/Android/},{s:"Open BSD",r:/OpenBSD/},{s:"Sun OS",r:/SunOS/},{s:"Linux",r:/(Linux|X11)/},{s:"iOS",r:/(iPhone|iPad|iPod)/},{s:"Mac OS X",r:/Mac OS X/},{s:"Mac OS",r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:"QNX",r:/QNX/},{s:"UNIX",r:/UNIX/},{s:"BeOS",r:/BeOS/},{s:"OS/2",r:/OS\/2/},{s:"Search Bot",r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}],r=0;e=t[r];r++)if(e.r.test(i)){n=e.s;break}var a="-";switch(/Windows/.test(n)&&(/Windows (.*)/.test(n)&&(a=/Windows (.*)/.exec(n)[1]),n="Windows"),n){case"Mac OS X":/Mac OS X (10[\.\_\d]+)/.test(i)&&(a=/Mac OS X (10[\.\_\d]+)/.exec(i)[1]);break;case"Android":/Android ([\.\_\d]+)/.test(i)&&(a=/Android ([\.\_\d]+)/.exec(i)[1]);break;case"iOS":/OS (\d+)_(\d+)_?(\d+)?/.test(i)&&(a=/OS (\d+)_(\d+)_?(\d+)?/.exec(o),a=a[1]+"."+a[2]+"."+(0|a[3]))}return{osName:n,osVersion:a}}();S&&S.osName&&"-"!=S.osName?(v=S.osName,l=S.osVersion):m.any()&&"Android"==(v=m.getOsName())&&(l=function(e){var o=(e=(e||s.userAgent).toLowerCase()).match(/android\s([0-9\.]*)/);return!!o&&o[1]}());var b="object"==typeof process&&"object"==typeof process.versions&&process.versions.node;"Unknown OS"===v&&b&&(v="Nodejs",l=process.versions.node.toString().replace("v",""));var h=!1,g=!1;["captureStream","mozCaptureStream","webkitCaptureStream"].forEach(function(e){"undefined"!=typeof document&&"function"==typeof document.createElement&&(!h&&e in document.createElement("canvas")&&(h=!0),!g&&e in document.createElement("video")&&(g=!0))});var C=[],k=[],W=[],y=[];s.mediaDevices&&s.mediaDevices.enumerateDevices&&(s.enumerateDevices=function(e){s.mediaDevices.enumerateDevices().then(e).catch(function(){e([])})});var O=!1;"undefined"!=typeof MediaStreamTrack&&"getSources"in MediaStreamTrack?O=!0:s.mediaDevices&&s.mediaDevices.enumerateDevices&&(O=!0);var T=!1,M=!1,P=!1,x=!1,D=!1,R=window.DetectRTC||{};R.browser=function(){var e,o,i,n=(s.appVersion,s.userAgent),t=s.appName,r=""+parseFloat(s.appVersion),a=parseInt(s.appVersion,10);if(c){t="Opera";try{r=s.userAgent.split("OPR/")[1].split(" ")[0],a=r.split(".")[0]}catch(e){r="0.0.0.0",a=0}}else f?((o=n.indexOf("rv:"))>0?r=n.substring(o+3):(o=n.indexOf("MSIE"),r=n.substring(o+5)),t="IE"):w?(o=n.indexOf("Chrome"),t="Chrome",r=n.substring(o+7)):p?(o=n.indexOf("Safari"),t="Safari",r=n.substring(o+7),-1!==(o=n.indexOf("Version"))&&(r=n.substring(o+8))):u?(o=n.indexOf("Firefox"),t="Firefox",r=n.substring(o+8)):(e=n.lastIndexOf(" ")+1)<(o=n.lastIndexOf("/"))&&(t=n.substring(e,o),r=n.substring(o+1),t.toLowerCase()===t.toUpperCase()&&(t=s.appName));return d&&(t="Edge",r=s.userAgent.split("Edge/")[1]),-1!==(i=r.search(/[; \)]/))&&(r=r.substring(0,i)),a=parseInt(""+r,10),isNaN(a)&&(r=""+parseFloat(s.appVersion),a=parseInt(s.appVersion,10)),{fullVersion:r,version:a,name:t,isPrivateBrowsing:!1}}(),function(i){var n;try{if(window.webkitRequestFileSystem)window.webkitRequestFileSystem(window.TEMPORARY,1,function(){n=!1},function(e){n=!0});else if(window.indexedDB&&/Firefox/.test(window.navigator.userAgent)){var t;try{(t=window.indexedDB.open("test")).onerror=function(){return!0}}catch(e){n=!0}void 0===n&&e(function(){return"done"===t.readyState},function(e){e||(n=!t.result)})}else if(o(window.navigator.userAgent)){n=!1;try{window.indexedDB||(n=!0)}catch(e){n=!0}}else if(window.localStorage&&/Safari/.test(window.navigator.userAgent)){try{window.localStorage.setItem("test",1)}catch(e){n=!0}void 0===n&&(n=!1,window.localStorage.removeItem("test"))}}catch(e){n=!1}e(function(){return void 0!==n},function(e){i(n)})}(function(e){R.browser.isPrivateBrowsing=!!e}),R.browser["is"+R.browser.name]=!0,R.osName=v,R.osVersion=l;var A=("object"==typeof process&&"object"==typeof process.versions&&process.versions["node-webkit"],!1);["RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","RTCIceGatherer"].forEach(function(e){A||e in window&&(A=!0)}),R.isWebRTCSupported=A,R.isORTCSupported="undefined"!=typeof RTCIceGatherer;var N=!1;R.browser.isChrome&&R.browser.version>=35?N=!0:R.browser.isFirefox&&R.browser.version>=34&&(N=!0),/^(https:|chrome-extension:)$/g.test(location.protocol||"")||("undefined"!=typeof document&&"string"==typeof document.domain&&document.domain.search&&-1===document.domain.search(/localhost|127.0./g)&&(N=!1),R.browser.isFirefox&&(N=!1)),R.isScreenCapturingSupported=N;
1var I={isSupported:!1,isCreateMediaStreamSourceSupported:!1};["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"].forEach(function(e){I.isSupported||e in window&&(I.isSupported=!0,window[e]&&"createMediaStreamSource"in window[e].prototype&&(I.isCreateMediaStreamSourceSupported=!0))}),R.isAudioContextSupported=I.isSupported,R.isCreateMediaStreamSourceSupported=I.isCreateMediaStreamSourceSupported;var B=!1;R.browser.isChrome&&R.browser.version>31&&(B=!0),R.isRtpDataChannelsSupported=B;var E=!1;R.browser.isFirefox&&R.browser.version>28?E=!0:R.browser.isChrome&&R.browser.version>25?E=!0:R.browser.isOpera&&R.browser.version>=11&&(E=!0),R.isSctpDataChannelsSupported=E,R.isMobileDevice=a;var F=!1;s.getUserMedia?F=!0:s.mediaDevices&&s.mediaDevices.getUserMedia&&(F=!0),R.browser.isChrome&&R.browser.version>=46&&!/^(https:|chrome-extension:)$/g.test(location.protocol||"")&&"undefined"!=typeof document&&"string"==typeof document.domain&&document.domain.search&&-1===document.domain.search(/localhost|127.0./g)&&(F="Requires HTTPs"),"Nodejs"===R.osName&&(F=!1),R.isGetUserMediaSupported=F;var U="";screen.width&&(U+=(screen.width?screen.width:"")+" x "+(screen.height?screen.height:"")),R.displayResolution=U,R.displayAspectRatio=function(e,o){function i(e,o){return 0==o?e:i(o,e%o)}var n=i(e,o);return e/n/(o/n)}(screen.width,screen.height).toFixed(2),R.isCanvasSupportsStreamCapturing=h,R.isVideoSupportsStreamCapturing=g,"Chrome"==R.browser.name&&R.browser.version>=53&&(R.isCanvasSupportsStreamCapturing||(R.isCanvasSupportsStreamCapturing="Requires chrome flag: enable-experimental-web-platform-features"),R.isVideoSupportsStreamCapturing||(R.isVideoSupportsStreamCapturing="Requires chrome flag: enable-experimental-web-platform-features")),R.DetectLocalIPAddress=function(e){R.isWebRTCSupported&&(R.isORTCSupported||i(function(o){e(o.match(/^(192\.168\.|169\.254\.|10\.|172\.(1[6-9]|2\d|3[01]))/)?"Local: "+o:"Public: "+o)}))},R.isWebSocketsSupported="WebSocket"in window&&2===window.WebSocket.CLOSING,R.isWebSocketsBlocked=!R.isWebSocketsSupported,"Nodejs"===R.osName&&(R.isWebSocketsSupported=!0,R.isWebSocketsBlocked=!1),R.checkWebSocketsSupport=function(e){e=e||function(){};try{var o,i=new WebSocket("wss://echo.websocket.org:443/");i.onopen=function(){R.isWebSocketsBlocked=!1,o=(new Date).getTime(),i.send("ping")},i.onmessage=function(){R.WebsocketLatency=(new Date).getTime()-o+"ms",e(),i.close(),i=null},i.onerror=function(){R.isWebSocketsBlocked=!0,e()}}catch(o){R.isWebSocketsBlocked=!0,e()}},R.load=function(e){n(e=e||function(){})},R.MediaDevices=void 0!==C?C:[],R.hasMicrophone=T,R.hasSpeakers=M,R.hasWebcam=P,R.isWebsiteHasWebcamPermissions=D,R.isWebsiteHasMicrophonePermissions=x,R.audioInputDevices=k,R.audioOutputDevices=W,R.videoInputDevices=y;var j=!1;"undefined"!=typeof document&&"function"==typeof document.createElement&&"setSinkId"in document.createElement("video")&&(j=!0),R.isSetSinkIdSupported=j;var V=!1;R.browser.isFirefox&&"undefined"!=typeof mozRTCPeerConnection?"getSenders"in mozRTCPeerConnection.prototype&&(V=!0):R.browser.isChrome&&"undefined"!=typeof webkitRTCPeerConnection&&"getSenders"in webkitRTCPeerConnection.prototype&&(V=!0),R.isRTPSenderReplaceTracksSupported=V;var L=!1;R.browser.isFirefox&&R.browser.version>38&&(L=!0),R.isRemoteStreamProcessingSupported=L;var X=!1;"undefined"!=typeof MediaStreamTrack&&"applyConstraints"in MediaStreamTrack.prototype&&(X=!0),R.isApplyConstraintsSupported=X;var z=!1;R.browser.isFirefox&&R.browser.version>=43&&(z=!0),R.isMultiMonitorScreenCapturingSupported=z,R.isPromisesSupported=!!("Promise"in window),void 0===R&&(window.DetectRTC={});var G=window.MediaStream;void 0===G&&"undefined"!=typeof webkitMediaStream&&(G=webkitMediaStream),R.MediaStream=void 0!==G&&Object.keys(G.prototype),"undefined"!=typeof MediaStreamTrack?R.MediaStreamTrack=Object.keys(MediaStreamTrack.prototype):R.MediaStreamTrack=!1;var _=window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection;R.RTCPeerConnection=void 0!==_&&Object.keys(_.prototype),window.DetectRTC=R,"undefined"!=typeof module&&(module.exports=R),"function"==typeof define&&define.amd&&define("DetectRTC",[],function(){return R})}();!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).JsSIP=e()}(function(){return function e(t,n,r){function s(o,a){if(!n[o]){if(!t[o]){var l="function"==typeof require&&require;if(!a&&l)return l(o,!0);if(i)return i(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[o]={exports:{}};t[o][0].call(c.exports,function(e){return s(t[o][1][e]||e)},c,c.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(e,t,n){var r=e("../package.json"),s={USER_AGENT:r.title+" "+r.version,SIP:"sip",SIPS:"sips",causes:{CONNECTION_ERROR:"Connection
1Error",REQUEST_TIMEOUT:"Request Timeout",SIP_FAILURE_CODE:"SIP Failure Code",INTERNAL_ERROR:"Internal Error",BUSY:"Busy",REJECTED:"Rejected",REDIRECTED:"Redirected",UNAVAILABLE:"Unavailable",NOT_FOUND:"Not Found",ADDRESS_INCOMPLETE:"Address Incomplete",INCOMPATIBLE_SDP:"Incompatible SDP",MISSING_SDP:"Missing SDP",AUTHENTICATION_ERROR:"Authentication Error",BYE:"Terminated",WEBRTC_ERROR:"WebRTC Error",CANCELED:"Canceled",NO_ANSWER:"No Answer",EXPIRES:"Expires",NO_ACK:"No ACK",DIALOG_ERROR:"Dialog Error",USER_DENIED_MEDIA_ACCESS:"User Denied Media Access",BAD_MEDIA_DESCRIPTION:"Bad Media Description",RTP_TIMEOUT:"RTP Timeout"},SIP_ERROR_CAUSES:{REDIRECTED:[300,301,302,305,380],BUSY:[486,600],REJECTED:[403,603],NOT_FOUND:[404,604],UNAVAILABLE:[480,410,408,430],ADDRESS_INCOMPLETE:[484,424],INCOMPATIBLE_SDP:[488,606],AUTHENTICATION_ERROR:[401,407]},ACK:"ACK",BYE:"BYE",CANCEL:"CANCEL",INFO:"INFO",INVITE:"INVITE",MESSAGE:"MESSAGE",NOTIFY:"NOTIFY",OPTIONS:"OPTIONS",REGISTER:"REGISTER",REFER:"REFER",UPDATE:"UPDATE",SUBSCRIBE:"SUBSCRIBE",REASON_PHRASE:{100:"Trying",180:"Ringing",181:"Call Is Being Forwarded",182:"Queued",183:"Session Progress",199:"Early Dialog Terminated",200:"OK",202:"Accepted",204:"No Notification",300:"Multiple Choices",301:"Moved Permanently",302:"Moved Temporarily",305:"Use Proxy",380:"Alternative Service",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",410:"Gone",412:"Conditional Request Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Unsupported URI Scheme",417:"Unknown Resource-Priority",420:"Bad Extension",421:"Extension Required",422:"Session Interval Too Small",423:"Interval Too Brief",424:"Bad Location Information",428:"Use Identity Header",429:"Provide Referrer Identity",430:"Flow Failed",433:"Anonymity Disallowed",436:"Bad Identity-Info",437:"Unsupported Certificate",438:"Invalid Identity Header",439:"First Hop Lacks Outbound Support",440:"Max-Breadth Exceeded",469:"Bad Info Package",470:"Consent Needed",478:"Unresolvable Destination",480:"Temporarily Unavailable",481:"Call/Transaction Does Not Exist",482:"Loop Detected",483:"Too Many Hops",484:"Address Incomplete",485:"Ambiguous",486:"Busy Here",487:"Request Terminated",488:"Not Acceptable Here",489:"Bad Event",491:"Request Pending",493:"Undecipherable",494:"Security Agreement Required",500:"JsSIP Internal Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Server Time-out",505:"Version Not Supported",513:"Message Too Large",580:"Precondition Failure",600:"Busy Everywhere",603:"Decline",604:"Does Not Exist Anywhere",606:"Not Acceptable"},ALLOWED_METHODS:"INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO",ACCEPTED_BODY_TYPES:"application/sdp, application/dtmf-relay",MAX_FORWARDS:69,SESSION_EXPIRES:90,MIN_SESSION_EXPIRES:60};t.exports=s},{"../package.json":52}],2:[function(e,t,n){function r(e,t,n,r){var a;if(this.uac_pending_reply=!1,this.uas_pending_reply=!1,!t.hasHeader("contact"))return{error:"unable to create a Dialog without Contact header field"};r=t instanceof o.IncomingResponse?t.status_code<200?s.STATUS_EARLY:s.STATUS_CONFIRMED:r||s.STATUS_CONFIRMED,a=t.parseHeader("contact"),"UAS"===n?(this.id={call_id:t.call_id,local_tag:t.to_tag,remote_tag:t.from_tag,toString:function(){return this.call_id+this.local_tag+this.remote_tag}},this.state=r,this.remote_seqnum=t.cseq,this.local_uri=t.parseHeader("to").uri,this.remote_uri=t.parseHeader("from").uri,this.remote_target=a.uri,this.route_set=t.getHeaders("record-route")):"UAC"===n&&(this.id={call_id:t.call_id,local_tag:t.from_tag,remote_tag:t.to_tag,toString:function(){return this.call_id+this.local_tag+this.remote_tag}},this.state=r,this.local_seqnum=t.cseq,this.local_uri=t.parseHeader("from").uri,this.remote_uri=t.parseHeader("to").uri,this.remote_target=a.uri,this.route_set=t.getHeaders("record-route").reverse()),this.owner=e,e.ua.dialogs[this.id.toString()]=this,i("new "+n+" dialog created with status "+(this.state===s.STATUS_EARLY?"EARLY":"CONFIRMED"))}t.exports=r;var s={STATUS_EARLY:1,STATUS_CONFIRMED:2};r.C=s;var i=e("debug")("JsSIP:Dialog"),o=e("./SIPMessage"),a=e("./Constants"),l=e("./Transactions"),u=e("./Dialog/RequestSender");r.prototype={update:function(e,t){this.state=s.STATUS_CONFIRMED,i("dialog "+this.id.toString()+" changed to CONFIRMED state"),"UAC"===t&&(this.route_set=e.getHeaders("record-route").reverse())},terminate:function(){i("dialog "+this.id.toString()+" deleted"),delete this.owner.ua.dialogs[this.id.toString()]},createRequest:function(e,t,n){var r,s;return t=t&&t.slice()||[],this.local_seqnum||(this.local_seqnum=Math.floor(1e4*Math.random())),r=e===a.CANCEL||e===a.ACK?this.local_seqnum:this.local_seqnum+=1,s=new o.OutgoingRequest(e,this.remote_target,this.owner.ua,{cseq:r,call_id:this.id.call_id,from_uri:this.local_uri,from_tag:this.id.local_tag,to_uri:this.remote_uri,to_tag:this.id.remote_tag,route_set:this.route_set},t,n),s.dialog=this,s},checkInDialogRequest:function(e){var t=this;if(this.remote_seqnum){if(e.cseq<this.remote_seqnum)return e.method!==a.ACK&&e.reply(500),!1;e.cseq>this.remote_seqnum&&(this.remote_seqnum=e.cseq)}else this.remote_seqnum=e.cseq;if(e.method===a.INVITE||e.method===a.UPDATE&&e.body){if(!0===this.uac_pending_reply)e.reply(491);else{if(!0===this.uas_pending_reply){var n=1+(10*Math.random()|0);return e.reply(500,null,["Retry-After:"+n]),!1}this.uas_pending_reply=!0,e.server_transaction.on("stateChanged",function n(){this.state!==l.C.STATUS_ACCEPTED&&this.state!==l.C.STATUS_COMPLETED&&this.state!==l.C.STATUS_TERMINATED||(e.server_transaction.removeListener("stateChanged",n),t.uas_pen
1ding_reply=!1)})}e.hasHeader("contact")&&e.server_transaction.on("stateChanged",function(){this.state===l.C.STATUS_ACCEPTED&&(t.remote_target=e.parseHeader("contact").uri)})}else e.method===a.NOTIFY&&e.hasHeader("contact")&&e.server_transaction.on("stateChanged",function(){this.state===l.C.STATUS_COMPLETED&&(t.remote_target=e.parseHeader("contact").uri)});return!0},sendRequest:function(e,t,n){var r=(n=n||{}).extraHeaders&&n.extraHeaders.slice()||[],s=n.body||null,i=this.createRequest(t,r,s);return new u(this,e,i).send(),i},receiveRequest:function(e){this.checkInDialogRequest(e)&&this.owner.receiveRequest(e)}}},{"./Constants":1,"./Dialog/RequestSender":3,"./SIPMessage":19,"./Transactions":22,debug:29}],3:[function(e,t,n){function r(e,t,n){this.dialog=e,this.applicant=t,this.request=n,this.reattempt=!1,this.reattemptTimer=null}t.exports=r;var s=e("../Constants"),i=e("../Transactions"),o=e("../RTCSession"),a=e("../RequestSender");r.prototype={send:function(){var e=this,t=new a(this,this.dialog.owner.ua);t.send(),(this.request.method===s.INVITE||this.request.method===s.UPDATE&&this.request.body)&&t.clientTransaction.state!==i.C.STATUS_TERMINATED&&(this.dialog.uac_pending_reply=!0,t.clientTransaction.on("stateChanged",function n(){this.state!==i.C.STATUS_ACCEPTED&&this.state!==i.C.STATUS_COMPLETED&&this.state!==i.C.STATUS_TERMINATED||(t.clientTransaction.removeListener("stateChanged",n),e.dialog.uac_pending_reply=!1)}))},onRequestTimeout:function(){this.applicant.onRequestTimeout()},onTransportError:function(){this.applicant.onTransportError()},receiveResponse:function(e){var t=this;408===e.status_code||481===e.status_code?this.applicant.onDialogError(e):e.method===s.INVITE&&491===e.status_code?this.reattempt?this.applicant.receiveResponse(e):(this.request.cseq.value=this.dialog.local_seqnum+=1,this.reattemptTimer=setTimeout(function(){t.applicant.owner.status!==o.C.STATUS_TERMINATED&&(t.reattempt=!0,t.request_sender.send())},1e3)):this.applicant.receiveResponse(e)}}},{"../Constants":1,"../RTCSession":11,"../RequestSender":18,"../Transactions":22}],4:[function(e,t,n){function r(e){this.credentials=e,this.cnonce=null,this.nc=0,this.ncHex="00000000",this.algorithm=null,this.realm=null,this.nonce=null,this.opaque=null,this.stale=null,this.qop=null,this.method=null,this.uri=null,this.ha1=null,this.response=null}t.exports=r;var s=e("debug")("JsSIP:DigestAuthentication"),i=e("debug")("JsSIP:ERROR:DigestAuthentication");i.log=console.warn.bind(console);var o=e("./Utils");r.prototype.get=function(e){switch(e){case"realm":return this.realm;case"ha1":return this.ha1;default:return void i('get() | cannot get "%s" parameter',e)}},r.prototype.authenticate=function(e,t){var n,r;if(this.algorithm=t.algorithm,this.realm=t.realm,this.nonce=t.nonce,this.opaque=t.opaque,this.stale=t.stale,this.algorithm){if("MD5"!==this.algorithm)return i('authenticate() | challenge with Digest algorithm different than "MD5", authentication aborted'),!1}else this.algorithm="MD5";if(!this.nonce)return i("authenticate() | challenge without Digest nonce, authentication aborted"),!1;if(!this.realm)return i("authenticate() | challenge without Digest realm, authentication aborted"),!1;if(!this.credentials.password){if(!this.credentials.ha1)return i("authenticate() | no plain SIP password nor ha1 provided, authentication aborted"),!1;if(this.credentials.realm!==this.realm)return i('authenticate() | no plain SIP password, and stored `realm` does not match the given `realm`, cannot authenticate [stored:"%s", given:"%s"]',this.credentials.realm,this.realm),!1}if(t.qop)if(t.qop.indexOf("auth")>-1)this.qop="auth";else{if(!(t.qop.indexOf("auth-int")>-1))return i('authenticate() | challenge without Digest qop different than "auth" or "auth-int", authentication aborted'),!1;this.qop="auth-int"}else this.qop=null;return this.method=e.method,this.uri=e.ruri,this.cnonce=o.createRandomToken(12),this.nc+=1,r=Number(this.nc).toString(16),this.ncHex="00000000".substr(0,8-r.length)+r,4294967296===this.nc&&(this.nc=1,this.ncHex="00000001"),this.credentials.password?this.ha1=o.calculateMD5(this.credentials.username+":"+this.realm+":"+this.credentials.password):this.ha1=this.credentials.ha1,"auth"===this.qop?(n=o.calculateMD5(this.method+":"+this.uri),this.response=o.calculateMD5(this.ha1+":"+this.nonce+":"+this.ncHex+":"+this.cnonce+":auth:"+n)):"auth-int"===this.qop?(n=o.calculateMD5(this.method+":"+this.uri+":"+o.calculateMD5(this.body?this.body:"")),this.response=o.calculateMD5(this.ha1+":"+this.nonce+":"+this.ncHex+":"+this.cnonce+":auth-int:"+n)):null===this.qop&&(n=o.calculateMD5(this.method+":"+this.uri),this.response=o.calculateMD5(this.ha1+":"+this.nonce+":"+n)),s("authenticate() | response generated"),!0},r.prototype.toString=function(){var e=[];
1if(!this.response)throw new Error("response field does not exist, cannot generate Authorization header");return e.push("algorithm="+this.algorithm),e.push('username="'+this.credentials.username+'"'),e.push('realm="'+this.realm+'"'),e.push('nonce="'+this.nonce+'"'),e.push('uri="'+this.uri+'"'),e.push('response="'+this.response+'"'),this.opaque&&e.push('opaque="'+this.opaque+'"'),this.qop&&(e.push("qop="+this.qop),e.push('cnonce="'+this.cnonce+'"'),e.push("nc="+this.ncHex)),"Digest "+e.join(", ")}},{"./Utils":26,debug:29}],5:[function(e,t,n){var r={ConfigurationError:function(){var e=function(e,t){this.code=1,this.name="CONFIGURATION_ERROR",this.parameter=e,this.value=t,this.message=this.value?"Invalid value "+JSON.stringify(this.value)+' for parameter "'+this.parameter+'"':"Missing parameter: "+this.parameter};return e.prototype=new Error,e}(),InvalidStateError:function(){var e=function(e){this.code=2,this.name="INVALID_STATE_ERROR",this.status=e,this.message="Invalid status: "+e};return e.prototype=new Error,e}(),NotSupportedError:function(){var e=function(e){this.code=3,this.name="NOT_SUPPORTED_ERROR",this.message=e};return e.prototype=new Error,e}(),NotReadyError:function(){var e=function(e){this.code=4,this.name="NOT_READY_ERROR",this.message=e};return e.prototype=new Error,e}()};t.exports=r},{}],6:[function(e,t,n){t.exports=function(){function t(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var n={parse:function(n,r){function s(e){kn<Ln||(kn>Ln&&(Ln=kn,qn=[]),qn.push(e))}function i(){var e;return"\r\n"===n.substr(kn,2)?(e="\r\n",kn+=2):(e=null,0===Mn&&s('"\\r\\n"')),e}function o(){var e;return/^[0-9]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[0-9]")),e}function a(){var e;return/^[a-zA-Z]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[a-zA-Z]")),e}function l(){var e;return/^[0-9a-fA-F]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[0-9a-fA-F]")),e}function u(){var e;return null===(e=h())&&(e=p()),e}function c(){var e;return/^[\0-\xFF]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[\\0-\\xFF]")),e}function d(){var e;return/^["]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s('["]')),e}function h(){var e;return 32===n.charCodeAt(kn)?(e=" ",kn++):(e=null,0===Mn&&s('" "')),e}function p(){var e;return 9===n.charCodeAt(kn)?(e="\t",kn++):(e=null,0===Mn&&s('"\\t"')),e}function f(){var e;return/^[a-zA-Z0-9]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[a-zA-Z0-9]")),e}function m(){var e;return 59===n.charCodeAt(kn)?(e=";",kn++):(e=null,0===Mn&&s('";"')),null===e&&(47===n.charCodeAt(kn)?(e="/",kn++):(e=null,0===Mn&&s('"/"')),null===e&&(63===n.charCodeAt(kn)?(e="?",kn++):(e=null,0===Mn&&s('"?"')),null===e&&(58===n.charCodeAt(kn)?(e=":",kn++):(e=null,0===Mn&&s('":"')),null===e&&(64===n.charCodeAt(kn)?(e="@",kn++):(e=null,0===Mn&&s('"@"')),null===e&&(38===n.charCodeAt(kn)?(e="&",kn++):(e=null,0===Mn&&s('"&"')),null===e&&(61===n.charCodeAt(kn)?(e="=",kn++):(e=null,0===Mn&&s('"="')),null===e&&(43===n.charCodeAt(kn)?(e="+",kn++):(e=null,0===Mn&&s('"+"')),null===e&&(36===n.charCodeAt(kn)?(e="$",kn++):(e=null,0===Mn&&s('"$"')),null===e&&(44===n.charCodeAt(kn)?(e=",",kn++):(e=null,0===Mn&&s('","'))))))))))),e}function g(){var e;return null===(e=f())&&(e=v()),e}function v(){var e;return 45===n.charCodeAt(kn)?(e="-",kn++):(e=null,0===Mn&&s('"-"')),null===e&&(95===n.charCodeAt(kn)?(e="_",kn++):(e=null,0===Mn&&s('"_"')),null===e&&(46===n.charCodeAt(kn)?(e=".",kn++):(e=null,0===Mn&&s('"."')),null===e&&(33===n.charCodeAt(kn)?(e="!",kn++):(e=null,0===Mn&&s('"!"')),null===e&&(126===n.charCodeAt(kn)?(e="~",kn++):(e=null,0===Mn&&s('"~"')),null===e&&(42===n.charCodeAt(kn)?(e="*",kn++):(e=null,0===Mn&&s('"*"')),null===e&&(39===n.charCodeAt(kn)?(e="'",kn++):(e=null,0===Mn&&s('"\'"')),null===e&&(40===n.charCodeAt(kn)?(e="(",kn++):(e=null,0===Mn&&s('"("')),null===e&&(41===n.charCodeAt(kn)?(e=")",kn++):(e=null,0===Mn&&s('")"')))))))))),e}function T(){var e,t,r,i,o;return i=kn,o=kn,37===n.charCodeAt(kn)?(e="%",kn++):(e=null,0===Mn&&s('"%"')),null!==e&&null!==(t=l())&&null!==(r=l())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=e.join("")),null===e&&(kn=i),e}function _(){var e,t,n,r,s,o;for(r=kn,s=kn,o=kn,e=[],t=u();null!==t;)e.push(t),t=u();if(null!==e&&null!==(t=i())?e=[e,t]:(e=null,kn=o),null!==(e=null!==e?e:"")){if(null!==(n=u()))for(t=[];null!==n;)t.push(n),n=u();else t=null;null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return null!==e&&(e=" "),null===e&&(kn=r),e}function C(){var e;return e=_(),e=null!==e?e:""}function S(){var e,t,r,i,o;for(i=kn,o=kn,e=[],null===(t=h())&&(t=p());null!==t;)e.push(t),null===(t=h())&&(t=p());return null!==e?(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=":"),null===e&&(kn=i),e}function E(){var e,t,r,s,i,o,a;if(i=kn,o=kn,null!==(t=y()))for(e=[];null!==t;)e.push(t),t=y();else e=null;if(null!==e){for(t=[],a=kn,r=[],s=_();null!==s;)r.push(s),s=_();for(null!==r&&null!==(s=y())?r=[r,s]:(r=null,kn=a);null!==r;){for(t.push(r),a=kn,r=[],s=_();null!==s;)r.push(s),s=_();null!==r&&null!==(s=y())?r=[r,s]:(r=null,kn=a)}null!==t?e=[e,t]:(e=null,kn=o)}else e=null,kn=o;return null!==e&&(e=function(e){return n.substring(kn,e)}(i)),null===e&&(kn=i),e}function y(){var e;return/^[!-~]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[!-~]")),null===e&&(e=A()),e}function A(){var e;return/^[\x80-\uFFFF]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[\\x80-\\uFFFF]")),e}function R(){var e;return/^[\x80-\xBF]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[\\x80-\\xBF]")),e}function b(){var e,t,r;if(r=kn,null===(t=f())&&(45===n.charCodeAt(kn)?(t="-",kn++):(t=null,0===Mn&&s('"-"')),null===t&&(46===n.charCodeAt(kn)?(t=".",kn++):(t=null,0===Mn&&s('"."')),null===t&&(33===n.charCodeAt(kn)?(t="!",kn++):(t=null,0===Mn&&s('"!"')),null===t&&(37===n.charCodeAt(kn)?(t="%",kn++):(t=null,0===Mn&&s('"%"')),null===t&&(42===n.charCodeAt(kn)?(t="*",kn++):(t=null,0===Mn&&s('"*"')),null===t&&(95===n.charCodeAt(kn)?(t="_",kn++):(t=null,0===Mn&&s('"_"')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')),null===t&&(96===n.charCodeAt(kn)?(t="`",kn++):(t=null,0===Mn&&s('"`"')),null===t&&(39===n.charCodeAt(kn)?(t="'",kn++):(t=null,0===Mn&&s('"\'"')),null===t&&(126===n.charCodeAt(kn)?(t="~",kn++):(t=null,0===Mn&&s('"~"')))))))))))),null!==t)for(e=[];null!==t;)e.push(t),null===(t=f())&&(45===n.charCodeAt(kn)?(t="-",kn++):(t=null,0===Mn&&s('"-"')),null===t&&(46===n.charCodeAt(kn)?(t=".",kn++):(t=null,0===Mn&&s('"."')),null===t&&(33===n.charCodeAt(kn)?(t="!",kn++):(t=null,0===Mn&&s('"!"')),null===t&&(37===n.charCodeAt(kn)?(t="%",kn++):(t=null,0===Mn&&s('"%"')),null===t&&(42===n.charCodeAt(kn)?(t="*",kn++):(t=null,0===Mn&&s('"*"')),null===t&&(95===n.charCodeAt(kn)?(t="_",kn++):(t=null,0===Mn&&s('"_"')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')),null===t&&(96===n.charCodeAt(kn)?(t="`",kn++):(t=null,0===Mn&&s('"`"')),null===t&&(39===n.charCodeAt(kn)?(t="'",kn++):(t=null,0===Mn&&s('"\'"')),null===t&&(126===n.charCodeAt(kn)?(t="~",kn++):(t=null,0===Mn&&s('"~"'))))))))))));else e=null;return null!==e&&(e=function(e){return n.substring(kn,e)}(r)),null===e&&(kn=r),e}function w(){var e,t,r;if(r=kn,null===(t=f())&&(45===n.charCodeAt(kn)?(t="-",kn++):(t=null,0===Mn&&s('"-"')),null===t&&(33===n.charCodeAt(kn)?(t="!",kn++):(t=null,0===Mn&&s('"!"')),null===t&&(37===n.charCodeAt(kn)?(t="%",kn++):(t=null,0===Mn&&s('"%"')),null===t&&(42===n.charCodeAt(kn)?(t="*",kn++):(t=null,0===Mn&&s('"*"')),null===t&&(95===n.charCodeAt(kn)?(t="_",kn++):(t=null,0===Mn&&s('"_"')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')),null===t&&(96===n.charCodeAt(kn)?(t="`",kn++):(t=null,0===Mn&&s('"`"')),null===t&&(39===n.charCodeAt(kn)?(t="'",kn++):(t=null,0===Mn&&s('"\'"')),null===t&&(126===n.charCodeAt(kn)?(t="~",kn++):(t=null,0===Mn&&s('"~"'))))))))))),null!==t)for(e=[];null!==t;)e.push(t),null===(t=f())&&(45===n.charCodeAt(kn)?(t="-",kn++):(t=null,0===Mn&&s('"-"')),null===t&&(33===n.charCodeAt(kn)?(t="!",kn++):(t=null,0===Mn&&s('"!"')),null===t&&(37===n.charCodeAt(kn)?(t="%",kn++):(t=null,0===Mn&&s('"%"')),null===t&&(42===n.charCodeAt(kn)?(t="*",kn++):(t=null,0===Mn&&s('"*"')),null===t&&(95===n.charCodeAt(kn)?(t="_",kn++):(t=null,0===Mn&&s('"_"')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')),null===t&&(96===n.charCodeAt(kn)?(t="`",kn++):(t=null,0===Mn&&s('"`"')),null===t&&(39===n.charCodeAt(kn)?(t="'",kn++):(t=null,0===Mn&&s('"\'"')),null===t&&(126===n.charCodeAt(kn)?(t="~",kn++):(t=null,0===Mn&&s('"~"')))))))))));else e=null;return null!==e&&(e=function(e){return n.substring(kn,e)}(r)),null===e&&(kn=r),e}function I(){var e,t,r;if(r=kn,null===(t=f())&&(45===n.charCodeAt(kn)?(t="-",kn++):(t=null,0===Mn&&s('"-"')),null===t&&(46===n.charCodeAt(kn)?(t=".",kn++):(t=null,0===Mn&&s('"."')),null===t&&(33===n.charCodeAt(kn)?(t="!",kn++):(t=null,0===Mn&&s('"!"')),null===t&&(37===n.charCodeAt(kn)?(t="%",kn++):(t=null,0===Mn&&s('"%"')),null===t&&(42===n.charCodeAt(kn)?(t="*",kn++):(t=null,0===Mn&&s('"*"')),null===t&&(95===n.charCodeAt(kn)?(t="_",kn++):(t=null,0===Mn&&s('"_"')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')),null===t&&(96===n.charCodeAt(kn)?(t="`",kn++):(t=null,0===Mn&&s('"`"')),null===t&&(39===n.charCodeAt(kn)?(t="'",kn++):(t=null,0===Mn&&s('"\'"')),null===t&&(126===n.charCodeAt(kn)?(t="~",kn++):(t=null,0===Mn&&s('"~"')),null===t&&(40===n.charCodeAt(kn)?(t="(",kn++):(t=null,0===Mn&&s('"("')),null===t&&(41===n.charCodeAt(kn)?(t=")",kn++):(t=null,0===Mn&&s('")"')),null===t&&(60===n.charCodeAt(kn)?(t="<",kn++):(t=null,0===Mn&&s('"<"')),null===t&&(62===n.charCodeAt(kn)?(t=">",kn++):(t=null,0===Mn&&s('">"')),null===t&&(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null===t&&(92===n.charCodeAt(kn)?(t="\\",kn++):(t=null,0===Mn&&s('"\\\\"')),null===t&&null===(t=d())&&(47===n.charCodeAt(kn)?(t="/",kn++):(t=null,0===Mn&&s('"/"')),null===t&&(91===n.charCodeAt(kn)?(t="[",kn++):(t=null,0===Mn&&s('"["')),null===t&&(93===n.charCodeAt(kn)?(t="]",kn++):(t=null,0===Mn&&s('"]"')),null===t&&(63===n.charCodeAt(kn)?(t="?",kn++):(t=null,0===Mn&&s('"?"')),null===t&&(123===n.charCodeAt(kn)?(t="{",kn++):(t=null,0===Mn&&s('"{"')),null===t&&(125===n.charCodeAt(kn)?(t="}",kn++):(t=null,0===Mn&&s('"}"')))))))))))))))))))))))),null!==t)for(e=[];null!==t;)e.push(t),null===(t=f())&&(45===n.charCodeAt(kn)?(t="-",kn++):(t=null,0===Mn&&s('"-"')),null===t&&(46===n.charCodeAt(kn)?(t=".",kn++):(t=null,0===Mn&&s('"."')),null===t&&(33===n.charCodeAt(kn)?(t="!",kn++):(t=null,0===Mn&&s('"!"')),null===t&&(37===n.charCodeAt(kn)?(t="%",kn++):(t=null,0===Mn&&s('"%"')),null===t&&(42===n.charCodeAt(kn)?(t="*",kn++):(t=null,0===Mn&&s('"*"')),null===t&&(95===n.charCodeAt(kn)?(t="_",kn++):(t=null,0===Mn&&s('"_"')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')),null===t&&(96===n.charCodeAt(kn)?(t="`",kn++):(t=null,0===Mn&&s('"`"')),null===t&&(39===n.charCodeAt(kn)?(t="'",kn++):(t=null,0===Mn&&s('"\'"')),null===t&&(126===n.charCodeAt(kn)?(t="~",kn++):(t=null,0===Mn&&s('"~"')),null===t&&(40===n.charCodeAt(kn)?(t="(",kn++):(t=null,0===Mn&&s('"("')),null===t&&(41===n.charCodeAt(kn)?(t=")",kn++):(t=null,0===Mn&&s('")"')),null===t&&(60===n.charCodeAt(kn)?(t="<",kn++):(t=null,0===Mn&&s('"<"')),null===t&&(62===n.charCodeAt(kn)?(t=">",kn++):(t=null,0===Mn&&s('">"')),null===t&&(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null===t&&(92===n.charCodeAt(kn)?(t="\\",kn++):(t=null,0===Mn&&s('"\\\\"')),null===t&&null===(t=d())&&(47===n.charCodeAt(kn)?(t="/",kn++):(t=null,0===Mn&&s('"/"')),null===t&&(91===n.charCodeAt(kn)?(t="[",kn++):(t=null,0===Mn&&s('"["')),null===t&&(93===n.charCodeAt(kn)?(t="]",kn++):(t=null,0===Mn&&s('"]"')),null===t&&(63===n.charCodeAt(kn)?(t="?",kn++):(t=null,0===Mn&&s('"?"')),null===t&&(123===n.charCodeAt(kn)?(t="{",kn++):(t=null,0===Mn&&s('"{"')),null===t&&(125===n.charCodeAt(kn)?(t="}",kn++):(t=null,0===Mn&&s('"}"'))))))))))))))))))))))));else e=null;return null!==e&&(e=function(e){return n.substring(kn,e)}(r)),null===e&&(kn=r),e}function O(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=C())?(42===n.charCodeAt(kn)?(t="*",kn++):(t=null,0===Mn&&s('"*"')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e="*"),null===e&&(kn=i),e}function x(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=C())?(47===n.charCodeAt(kn)?(t="/",kn++):(t=null,0===Mn&&s('"/"')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e="/"),null===e&&(kn=i),e}function N(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=C())?(61===n.charCodeAt(kn)?(t="=",kn++):(t=null,0===Mn&&s('"="')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e="="),null===e&&(kn=i),e}function P(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=C())?(40===n.charCodeAt(kn)?(t="(",kn++):(t=null,0===Mn&&s('"("')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e="("),null===e&&(kn=i),e}function D(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=C())?(41===n.charCodeAt(kn)?(t=")",kn++):(t=null,0===Mn&&s('")"')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=")"),null===e&&(kn=i),e}function U(){var e,t,r,i;return r=kn,i=kn,62===n.charCodeAt(kn)?(e=">",kn++):(e=null,0===Mn&&s('">"')),null!==e&&null!==(t=C())?e=[e,t]:(e=null,kn=i),null!==e&&(e=">"),null===e&&(kn=r),e}function k(){var e,t,r,i;return r=kn,i=kn,null!==(e=C())?(60===n.charCodeAt(kn)?(t="<",kn++):(t=null,0===Mn&&s('"<"')),null!==t?e=[e,t]:(e=null,kn=i)):(e=null,kn=i),null!==e&&(e="<"),null===e&&(kn=r),e}function M(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=C())?(44===n.charCodeAt(kn)?(t=",",kn++):(t=null,0===Mn&&s('","')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=","),null===e&&(kn=i),e}function L(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=C())?(59===n.charCodeAt(kn)?(t=";",kn++):(t=null,0===Mn&&s('";"')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=";"),null===e&&(kn=i),e}function q(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=C())?(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=C())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=":"),null===e&&(kn=i),e}function H(){var e,t,n,r;return n=kn,r=kn,null!==(e=C())&&null!==(t=d())?e=[e,t]:(e=null,kn=r),null!==e&&(e='"'),null===e&&(kn=n),e}function F(){var e,t,n,r;return n=kn,r=kn,null!==(e=d())&&null!==(t=C())?e=[e,t]:(e=null,kn=r),null!==e&&(e='"'),null===e&&(kn=n),e}function j(){var e,t,n,r;if(r=kn,null!==(e=P())){for(t=[],null===(n=G())&&null===(n=z())&&(n=j());null!==n;)t.push(n),null===(n=G())&&null===(n=z())&&(n=j());null!==t&&null!==(n=D())?e=[e,t,n]:(e=null,kn=r)}else e=null,kn=r;return e}function G(){var e;return/^[!-']/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[!-']")),null===e&&(/^[*-[]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[*-[]")),null===e&&(/^[\]-~]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[\\]-~]")),null===e&&null===(e=A())&&(e=_()))),e}function B(){var e,t,r,s,i,o;if(i=kn,o=kn,null!==(e=C()))if(null!==(t=d())){for(r=[],null===(s=V())&&(s=z());null!==s;)r.push(s),null===(s=V())&&(s=z());null!==r&&null!==(s=d())?e=[e,t,r,s]:(e=null,kn=o)}else e=null,kn=o;else e=null,kn=o;return null!==e&&(e=function(e){return n.substring(kn,e)}(i)),null===e&&(kn=i),e}function W(){var e,t,r,s,i,o;if(i=kn,o=kn,null!==(e=C()))if(null!==(t=d())){for(r=[],null===(s=V())&&(s=z());null!==s;)r.push(s),null===(s=V())&&(s=z());null!==r&&null!==(s=d())?e=[e,t,r,s]:(e=null,kn=o)}else e=null,kn=o;else e=null,kn=o;return null!==e&&(e=function(e){return n.substring(kn-1,e+1)}(i)),null===e&&(kn=i),e}function V(){var e;return null===(e=_())&&(33===n.charCodeAt(kn)?(e="!",kn++):(e=null,0===Mn&&s('"!"')),null===e&&(/^[#-[]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[#-[]")),null===e&&(/^[\]-~]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[\\]-~]")),null===e&&(e=A())))),e}function z(){var e,t,r;return r=kn,92
1===n.charCodeAt(kn)?(e="\\",kn++):(e=null,0===Mn&&s('"\\\\"')),null!==e?(/^[\0-\t]/.test(n.charAt(kn))?(t=n.charAt(kn),kn++):(t=null,0===Mn&&s("[\\0-\\t]")),null===t&&(/^[\x0B-\f]/.test(n.charAt(kn))?(t=n.charAt(kn),kn++):(t=null,0===Mn&&s("[\\x0B-\\f]")),null===t&&(/^[\x0E-�]/.test(n.charAt(kn))?(t=n.charAt(kn),kn++):(t=null,0===Mn&&s("[\\x0E-�]")))),null!==t?e=[e,t]:(e=null,kn=r)):(e=null,kn=r),e}function J(){var e,t,r,i,o,a;return o=kn,a=kn,null!==(e=Y())?(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=null!==(r=Q())?r:"")&&null!==(i=ne())?e=[e,t,r,i]:(e=null,kn=a)):(e=null,kn=a),null!==e&&(e=function(e){try{jn.uri=new Hn(jn.scheme,jn.user,jn.host,jn.port),delete jn.scheme,delete jn.user,delete jn.host,delete jn.host_type,delete jn.port}catch(e){jn=-1}}()),null===e&&(kn=o),e}function K(){var e,t,i,o,a,l,u,c;return u=kn,c=kn,null!==(e=Y())?(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(i=null!==(i=Q())?i:"")&&null!==(o=ne())&&null!==(a=fe())&&null!==(l=null!==(l=we())?l:"")?e=[e,t,i,o,a,l]:(e=null,kn=c)):(e=null,kn=c),null!==e&&(e=function(e){try{jn.uri=new Hn(jn.scheme,jn.user,jn.host,jn.port,jn.uri_params,jn.uri_headers),delete jn.scheme,delete jn.user,delete jn.host,delete jn.host_type,delete jn.port,delete jn.uri_params,"SIP_URI"===r&&(jn=jn.uri)}catch(e){jn=-1}}()),null===e&&(kn=u),e}function Y(){var e;return null===(e=$())&&(e=X()),e}function $(){var e,t;return t=kn,"sips"===n.substr(kn,4).toLowerCase()?(e=n.substr(kn,4),kn+=4):(e=null,0===Mn&&s('"sips"')),null!==e&&(e=function(e,t){jn.scheme=t.toLowerCase()}(0,e)),null===e&&(kn=t),e}function X(){var e,t;return t=kn,"sip"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"sip"')),null!==e&&(e=function(e,t){jn.scheme=t.toLowerCase()}(0,e)),null===e&&(kn=t),e}function Q(){var e,t,r,i,o,a;return i=kn,o=kn,null!==(e=Z())?(a=kn,58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=te())?t=[t,r]:(t=null,kn=a),null!==(t=null!==t?t:"")?(64===n.charCodeAt(kn)?(r="@",kn++):(r=null,0===Mn&&s('"@"')),null!==r?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e){jn.user=decodeURIComponent(n.substring(kn-1,e))}(i)),null===e&&(kn=i),e}function Z(){var e,t;if(null===(t=g())&&null===(t=T())&&(t=ee()),null!==t)for(e=[];null!==t;)e.push(t),null===(t=g())&&null===(t=T())&&(t=ee());else e=null;return e}function ee(){var e;return 38===n.charCodeAt(kn)?(e="&",kn++):(e=null,0===Mn&&s('"&"')),null===e&&(61===n.charCodeAt(kn)?(e="=",kn++):(e=null,0===Mn&&s('"="')),null===e&&(43===n.charCodeAt(kn)?(e="+",kn++):(e=null,0===Mn&&s('"+"')),null===e&&(36===n.charCodeAt(kn)?(e="$",kn++):(e=null,0===Mn&&s('"$"')),null===e&&(44===n.charCodeAt(kn)?(e=",",kn++):(e=null,0===Mn&&s('","')),null===e&&(59===n.charCodeAt(kn)?(e=";",kn++):(e=null,0===Mn&&s('";"')),null===e&&(63===n.charCodeAt(kn)?(e="?",kn++):(e=null,0===Mn&&s('"?"')),null===e&&(47===n.charCodeAt(kn)?(e="/",kn++):(e=null,0===Mn&&s('"/"'))))))))),e}function te(){var e,t,r;for(r=kn,e=[],null===(t=g())&&null===(t=T())&&(38===n.charCodeAt(kn)?(t="&",kn++):(t=null,0===Mn&&s('"&"')),null===t&&(61===n.charCodeAt(kn)?(t="=",kn++):(t=null,0===Mn&&s('"="')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')),null===t&&(36===n.charCodeAt(kn)?(t="$",kn++):(t=null,0===Mn&&s('"$"')),null===t&&(44===n.charCodeAt(kn)?(t=",",kn++):(t=null,0===Mn&&s('","')))))));null!==t;)e.push(t),null===(t=g())&&null===(t=T())&&(38===n.charCodeAt(kn)?(t="&",kn++):(t=null,0===Mn&&s('"&"')),null===t&&(61===n.charCodeAt(kn)?(t="=",kn++):(t=null,0===Mn&&s('"="')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')),null===t&&(36===n.charCodeAt(kn)?(t="$",kn++):(t=null,0===Mn&&s('"$"')),null===t&&(44===n.charCodeAt(kn)?(t=",",kn++):(t=null,0===Mn&&s('","')))))));return null!==e&&(e=function(e){jn.password=n.substring(kn,e)}(r)),null===e&&(kn=r),e}function ne(){var e,t,r,i,o;return i=kn,null!==(e=re())?(o=kn,58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=pe())?t=[t,r]:(t=null,kn=o),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=i)):(e=null,kn=i),e}function re(){var e,t;return t=kn,null===(e=se())&&null===(e=de())&&(e=ae()),null!==e&&(e=function(e){return jn.host=n.substring(kn,e).toLowerCase(),jn.host}(t)),null===e&&(kn=t),e}function se(){var e,t,r,i,o,a;for(i=kn,o=kn,e=[],a=kn,null!==(t=ie())?(46===n.charCodeAt(kn)?(r=".",kn++):(r=null,0===Mn&&s('"."')),null!==r?t=[t,r]:(t=null,kn=a)
vendor: 24,410 bytes, line 1
1):(t=null,kn=a);null!==t;)e.push(t),a=kn,null!==(t=ie())?(46===n.charCodeAt(kn)?(r=".",kn++):(r=null,0===Mn&&s('"."')),null!==r?t=[t,r]:(t=null,kn=a)):(t=null,kn=a);return null!==e&&null!==(t=oe())?(46===n.charCodeAt(kn)?(r=".",kn++):(r=null,0===Mn&&s('"."')),null!==(r=null!==r?r:"")?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e){return jn.host_type="domain",n.substring(kn,e)}(i)),null===e&&(kn=i),e}function ie(){var e,t,r,i;if(i=kn,null!==(e=f())){for(t=[],null===(r=f())&&(45===n.charCodeAt(kn)?(r="-",kn++):(r=null,0===Mn&&s('"-"')),null===r&&(95===n.charCodeAt(kn)?(r="_",kn++):(r=null,0===Mn&&s('"_"'))));null!==r;)t.push(r),null===(r=f())&&(45===n.charCodeAt(kn)?(r="-",kn++):(r=null,0===Mn&&s('"-"')),null===r&&(95===n.charCodeAt(kn)?(r="_",kn++):(r=null,0===Mn&&s('"_"'))));null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return e}function oe(){var e,t,r,i;if(i=kn,null!==(e=a())){for(t=[],null===(r=f())&&(45===n.charCodeAt(kn)?(r="-",kn++):(r=null,0===Mn&&s('"-"')),null===r&&(95===n.charCodeAt(kn)?(r="_",kn++):(r=null,0===Mn&&s('"_"'))));null!==r;)t.push(r),null===(r=f())&&(45===n.charCodeAt(kn)?(r="-",kn++):(r=null,0===Mn&&s('"-"')),null===r&&(95===n.charCodeAt(kn)?(r="_",kn++):(r=null,0===Mn&&s('"_"'))));null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return e}function ae(){var e,t,r,i,o;return i=kn,o=kn,91===n.charCodeAt(kn)?(e="[",kn++):(e=null,0===Mn&&s('"["')),null!==e&&null!==(t=le())?(93===n.charCodeAt(kn)?(r="]",kn++):(r=null,0===Mn&&s('"]"')),null!==r?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e){return jn.host_type="IPv6",n.substring(kn,e)}(i)),null===e&&(kn=i),e}function le(){var e,t,r,i,o,a,l,u,c,d,h,p,f,m,g,v;return m=kn,g=kn,null!==(e=ue())?(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=ue())?(58===n.charCodeAt(kn)?(i=":",kn++):(i=null,0===Mn&&s('":"')),null!==i&&null!==(o=ue())?(58===n.charCodeAt(kn)?(a=":",kn++):(a=null,0===Mn&&s('":"')),null!==a&&null!==(l=ue())?(58===n.charCodeAt(kn)?(u=":",kn++):(u=null,0===Mn&&s('":"')),null!==u&&null!==(c=ue())?(58===n.charCodeAt(kn)?(d=":",kn++):(d=null,0===Mn&&s('":"')),null!==d&&null!==(h=ue())?(58===n.charCodeAt(kn)?(p=":",kn++):(p=null,0===Mn&&s('":"')),null!==p&&null!==(f=ce())?e=[e,t,r,i,o,a,l,u,c,d,h,p,f]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,"::"===n.substr(kn,2)?(e="::",kn+=2):(e=null,0===Mn&&s('"::"')),null!==e&&null!==(t=ue())?(58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?(58===n.charCodeAt(kn)?(o=":",kn++):(o=null,0===Mn&&s('":"')),null!==o&&null!==(a=ue())?(58===n.charCodeAt(kn)?(l=":",kn++):(l=null,0===Mn&&s('":"')),null!==l&&null!==(u=ue())?(58===n.charCodeAt(kn)?(c=":",kn++):(c=null,0===Mn&&s('":"')),null!==c&&null!==(d=ue())?(58===n.charCodeAt(kn)?(h=":",kn++):(h=null,0===Mn&&s('":"')),null!==h&&null!==(p=ce())?e=[e,t,r,i,o,a,l,u,c,d,h,p]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,"::"===n.substr(kn,2)?(e="::",kn+=2):(e=null,0===Mn&&s('"::"')),null!==e&&null!==(t=ue())?(58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?(58===n.charCodeAt(kn)?(o=":",kn++):(o=null,0===Mn&&s('":"')),null!==o&&null!==(a=ue())?(58===n.charCodeAt(kn)?(l=":",kn++):(l=null,0===Mn&&s('":"')),null!==l&&null!==(u=ue())?(58===n.charCodeAt(kn)?(c=":",kn++):(c=null,0===Mn&&s('":"')),null!==c&&null!==(d=ce())?e=[e,t,r,i,o,a,l,u,c,d]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,"::"===n.substr(kn,2)?(e="::",kn+=2):(e=null,0===Mn&&s('"::"')),null!==e&&null!==(t=ue())?(58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?(58===n.charCodeAt(kn)?(o=":",kn++):(o=null,0===Mn&&s('":"')),null!==o&&null!==(a=ue())?(58===n.charCodeAt(kn)?(l=":",kn++):(l=null,0===Mn&&s('":"')),null!==l&&null!==(u=ce())?e=[e,t,r,i,o,a,l,u]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,"::"===n.substr(kn,2)?(e="::",kn+=2):(e=null,0===Mn&&s('"::"')),null!==e&&null!==(t=ue())?(58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?(58===n.charCodeAt(kn)?(o=":",kn++):(o=null,0===Mn&&s('":"')),null!==o&&null!==(a=ce())?e=[e,t,r,i,o,a]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,"::"===n.substr(kn,2)?(e="::",kn+=2):(e=null,0===Mn&&s('"::"')),null!==e&&null!==(t=ue())?(58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ce())?e=[e,t,r,i]:(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,"::"===n.substr(kn,2)?(e="::",kn+=2):(e=null,0===Mn&&s('"::"')),null!==e&&null!==(t=ce())?e=[e,t]:(e=null,kn=g),null===e&&(g=kn,"::"===n.substr(kn,2)?(e="::",kn+=2):(e=null,0===Mn&&s('"::"')),null!==e&&null!==(t=ue())?e=[e,t]:(e=null,kn=g),null===e&&(g=kn,null!==(e=ue())?("::"===n.substr(kn,2)?(t="::",kn+=2):(t=null,0===Mn&&s('"::"')),null!==t&&null!==(r=ue())?(58===n.charCodeAt(kn)?(i=":",kn++):(i=null,0===Mn&&s('":"')),null!==i&&null!==(o=ue())?(58===n.charCodeAt(kn)?(a=":",kn++):(a=null,0===Mn&&s('":"')),null!==a&&null!==(l=ue())?(58===n.charCodeAt(kn)?(u=":",kn++):(u=null,0===Mn&&s('":"')),null!==u&&null!==(c=ue())?(58===n.charCodeAt(kn)?(d=":",kn++):(d=null,0===Mn&&s('":"')),null!==d&&null!==(h=ce())?e=[e,t,r,i,o,a,l,u,c,d,h]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,null!==(e=ue())?(v=kn,58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=ue())?t=[t,r]:(t=null,kn=v),null!==(t=null!==t?t:"")?("::"===n.substr(kn,2)?(r="::",kn+=2):(r=null,0===Mn&&s('"::"')),null!==r&&null!==(i=ue())?(58===n.charCodeAt(kn)?(o=":",kn++):(o=null,0===Mn&&s('":"')),null!==o&&null!==(a=ue())?(58===n.charCodeAt(kn)?(l=":",kn++):(l=null,0===Mn&&s('":"')),null!==l&&null!==(u=ue())?(58===n.charCodeAt(kn)?(c=":",kn++):(c=null,0===Mn&&s('":"')),null!==c&&null!==(d=ce())?e=[e,t,r,i,o,a,l,u,c,d]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,null!==(e=ue())?(v=kn,58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=ue())?t=[t,r]:(t=null,kn=v),null!==(t=null!==t?t:"")?(v=kn,58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?r=[r,i]:(r=null,kn=v),null!==(r=null!==r?r:"")?("::"===n.substr(kn,2)?(i="::",kn+=2):(i=null,0===Mn&&s('"::"')),null!==i&&null!==(o=ue())?(58===n.charCodeAt(kn)?(a=":",kn++):(a=null,0===Mn&&s('":"')),null!==a&&null!==(l=ue())?(58===n.charCodeAt(kn)?(u=":",kn++):(u=null,0===Mn&&s('":"')),null!==u&&null!==(c=ce())?e=[e,t,r,i,o,a,l,u,c]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,null!==(e=ue())?(v=kn,58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=ue())?t=[t,r]:(t=null,kn=v),null!==(t=null!==t?t:"")?(v=kn,58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?r=[r,i]:(r=null,kn=v),null!==(r=null!==r?r:"")?(v=kn,58===n.charCodeAt(kn)?(i=":",kn++):(i=null,0===Mn&&s('":"')),null!==i&&null!==(o=ue())?i=[i,o]:(i=null,kn=v),null!==(i=null!==i?i:"")?("::"===n.substr(kn,2)?(o="::",kn+=2):(o=null,0===Mn&&s('"::"')),null!==o&&null!==(a=ue())?(58===n.charCodeAt(kn)?(l=":",kn++):(l=null,0===Mn&&s('":"')),null!==l&&null!==(u=ce())?e=[e,t,r,i,o,a,l,u]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,null!==(e=ue())?(v=kn,58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=ue())?t=[t,r]:(t=null,kn=v),null!==(t=null!==t?t:"")?(v=kn,58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?r=[r,i]:(r=null,kn=v),null!==(r=null!==r?r:"")?(v=kn,58===n.charCodeAt(kn)?(i=":",kn++):(i=null,0===Mn&&s('":"')),null!==i&&null!==(o=ue())?i=[i,o]:(i=null,kn=v),null!==(i=null!==i?i:"")?(v=kn,58===n.charCodeAt(kn)?(o=":",kn++):(o=null,0===Mn&&s('":"')),null!==o&&null!==(a=ue())?o=[o,a]:(o=null,kn=v),null!==(o=null!==o?o:"")?("::"===n.substr(kn,2)?(a="::",kn+=2):(a=null,0===Mn&&s('"::"')),null!==a&&null!==(l=ce())?e=[e,t,r,i,o,a,l]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,null!==(e=ue())?(v=kn,58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=ue())?t=[t,r]:(t=null,kn=v),null!==(t=null!==t?t:"")?(v=kn,58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?r=[r,i]:(r=null,kn=v),null!==(r=null!==r?r:"")?(v=kn,58===n.charCodeAt(kn)?(i=":",kn++):(i=null,0===Mn&&s('":"')),null!==i&&null!==(o=ue())?i=[i,o]:(i=null,kn=v),null!==(i=null!==i?i:"")?(v=kn,58===n.charCodeAt(kn)?(o=":",kn++):(o=null,0===Mn&&s('":"')),null!==o&&null!==(a=ue())?o=[o,a]:(o=null,kn=v),null!==(o=null!==o?o:"")?(v=kn,58===n.charCodeAt(kn)?(a=":",kn++):(a=null,0===Mn&&s('":"')),null!==a&&null!==(l=ue())?a=[a,l]:(a=null,kn=v),null!==(a=null!==a?a:"")?("::"===n.substr(kn,2)?(l="::",kn+=2):(l=null,0===Mn&&s('"::"')),null!==l&&null!==(u=ue())?e=[e,t,r,i,o,a,l,u]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g),null===e&&(g=kn,null!==(e=ue())?(v=kn,58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=ue())?t=[t,r]:(t=null,kn=v),null!==(t=null!==t?t:"")?(v=kn,58===n.charCodeAt(kn)?(r=":",kn++):(r=null,0===Mn&&s('":"')),null!==r&&null!==(i=ue())?r=[r,i]:(r=null,kn=v),null!==(r=null!==r?r:"")?(v=kn,58===n.charCodeAt(kn)?(i=":",kn++):(i=null,0===Mn&&s('":"')),null!==i&&null!==(o=ue())?i=[i,o]:(i=null,kn=v),null!==(i=null!==i?i:"")?(v=kn,58===n.charCodeAt(kn)?(o=":",kn++):(o=null,0===Mn&&s('":"')),null!==o&&null!==(a=ue())?o=[o,a]:(o=null,kn=v),null!==(o=null!==o?o:"")?(v=kn,58===n.charCodeAt(kn)?(a=":",kn++):(a=null,0===Mn&&s('":"')),null!==a&&null!==(l=ue())?a=[a,l]:(a=null,kn=v),null!==(a=null!==a?a:"")?(v=kn,58===n.charCodeAt(kn)?(l=":",kn++):(l=null,0===Mn&&s('":"')),null!==l&&null!==(u=ue())?l=[l,u]:(l=null,kn=v),null!==(l=null!==l?l:"")?("::"===n.substr(kn,2)?(u="::",kn+=2):(u=null,0===Mn&&s('"::"')),null!==u?e=[e,t,r,i,o,a,l,u]:(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g)):(e=null,kn=g))))))))))))))),null!==e&&(e=function(e){return jn.host_type="IPv6",n.substring(kn,e)}(m)),null===e&&(kn=m),e}function ue(){var e,t,n,r,s;return s=kn,null!==(e=l())&&null!==(t=null!==(t=l())?t:"")&&null!==(n=null!==(n=l())?n:"")&&null!==(r=null!==(r=l())?r:"")?e=[e,t,n,r]:(e=null,kn=s),e}function ce(){var e,t,r,i;return i=kn,null!==(e=ue())?(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t&&null!==(r=ue())?e=[e,t,r]:(e=null,kn=i)):(e=null,kn=i),null===e&&(e=de()),e}function de(){var e,t,r,i,o,a,l,u,c;return u=kn,c=kn,null!==(e=he())?(46===n.charCodeAt(kn)?(t=".",kn++):(t=null,0===Mn&&s('"."')),null!==t&&null!==(r=he())?(46===n.charCodeAt(kn)?(i=".",kn++):(i=null,0===Mn&&s('"."')),null!==i&&null!==(o=he())?(46===n.charCodeAt(kn)?(a=".",kn++):(a=null,0===Mn&&s('"."')),null!==a&&null!==(l=he())?e=[e,t,r,i,o,a,l]:(e=null,kn=c)):(e=null,kn=c)):(e=null,kn=c)):(e=null,kn=c),null!==e&&(e=function(e){return jn.host_type="IPv4",n.substring(kn,e)}(u)),null===e&&(kn=u),e}function he(){var e,t,r,i;return i=kn,"25"===n.substr(kn,2)?(e="25",kn+=2):(e=null,0===Mn&&s('"25"')),null!==e?(/^[0-5]/.test(n.charAt(kn))?(t=n.charAt(kn),kn++):(t=null,0===Mn&&s("[0-5]")),null!==t?e=[e,t]:(e=null,kn=i)):(e=null,kn=i),null===e&&(i=kn,50===n.charCodeAt(kn)?(e="2",kn++):(e=null,0===Mn&&s('"2"')),null!==e?(/^[0-4]/.test(n.charAt(kn))?(t=n.charAt(kn),kn++):(t=null,0===Mn&&s("[0-4]")),null!==t&&null!==(r=o())?e=[e,t,r]:(e=null,kn=i)):(e=null,kn=i),null===e&&(i=kn,49===n.charCodeAt(kn)?(e="1",kn++):(e=null,0===Mn&&s('"1"')),null!==e&&null!==(t=o())&&null!==(r=o())?e=[e,t,r]:(e=null,kn=i),null===e&&(i=kn,/^[1-9]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[1-9]")),null!==e&&null!==(t=o())?e=[e,t]:(e=null,kn=i),null===e&&(e=o())))),e}function pe(){var e,t,n,r,s,i,a;return i=kn,a=kn,e=o(),null!==(e=null!==e?e:"")&&null!==(t=null!==(t=o())?t:"")&&null!==(n=null!==(n=o())?n:"")&&null!==(r=null!==(r=o())?r:"")&&null!==(s=null!==(s=o())?s:"")?e=[e,t,n,r,s]:(e=null,kn=a),null!==e&&(e=function(e,t){return t=parseInt(t.join("")),jn.port=t,t}(0,e)),null===e&&(kn=i),e}function fe(){var e,t,r,i;for(e=[],i=kn,59===n.charCodeAt(kn)?(t=";",kn++):(t=null,0===Mn&&s('";"')),null!==t&&null!==(r=me())?t=[t,r]:(t=null,kn=i);null!==t;)e.push(t),i=kn,59===n.charCodeAt(kn)?(t=";",kn++):(t=null,0===Mn&&s('";"')),null!==t&&null!==(r=me())?t=[t,r]:(t=null,kn=i);return e}function me(){var e;return null===(e=ge())&&null===(e=ve())&&null===(e=Te())&&null===(e=_e())&&null===(e=Ce())&&null===(e=Se())&&(e=Ee()),e}function ge(){var e,t,r,i;return r=kn,i=kn,"transport="===n.substr(kn,10).toLowerCase()?(e=n.substr(kn,10),kn+=10):(e=null,0===Mn&&s('"transport="')),null!==e?("udp"===n.substr(kn,3).toLowerCase()?(t=n.substr(kn,3),kn+=3):(t=null,0===Mn&&s('"udp"')),null===t&&("tcp"===n.substr(kn,3).toLowerCase()?(t=n.substr(kn,3),kn+=3):(t=null,0===Mn&&s('"tcp"')),null===t&&("sctp"===n.substr(kn,4).toLowerCase()?(t=n.substr(kn,4),kn+=4):(t=null,0===Mn&&s('"sctp"')),null===t&&("tls"===n.substr(kn,3).toLowerCase()?(t=n.substr(kn,3),kn+=3):(t=null,0===Mn&&s('"tls"')),null===t&&(t=b())))),null!==t?e=[e,t]:(e=null,kn=i)):(e=null,kn=i),null!==e&&(e=function(e,t){jn.uri_params||(jn.uri_params={}),jn.uri_params.transport=t.toLowerCase()}(0,e[1])),null===e&&(kn=r),e}function ve(){var e,t,r,i;return r=kn,i=kn,"user="===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"user="')),null!==e?("phone"===n.substr(kn,5).toLowerCase()?(t=n.substr(kn,5),kn+=5):(t=null,0===Mn&&s('"phone"')),null===t&&("ip"===n.substr(kn,2).toLowerCase()?(t=n.substr(kn,2),kn+=2):(t=null,0===Mn&&s('"ip"')),null===t&&(t=b())),null!==t?e=[e,t]:(e=null,kn=i)):(e=null,kn=i),null!==e&&(e=function(e,t){jn.uri_params||(jn.uri_params={}),jn.uri_params.user=t.toLowerCase()}(0,e[1])),null===e&&(kn=r),e}function Te(){var e,t,r,i;return r=kn,i=kn,"method="===n.substr(kn,7).toLowerCase()?(e=n.substr(kn,7),kn+=7):(e=null,0===Mn&&s('"method="')),null!==e&&null!==(t=ot())?e=[e,t]:(e=null,kn=i),null!==e&&(e=function(e,t){jn.uri_params||(jn.uri_params={}),jn.uri_params.method=t}(0,e[1])),null===e&&(kn=r),e}function _e(){var e,t,r,i;return r=kn,i=kn,"ttl="===n.substr(kn,4).toLowerCase()?(e=n.substr(kn,4),kn+=4):(e=null,0===Mn&&s('"ttl="')),null!==e&&null!==(t=Cn())?e=[e,t]:(e=null,kn=i),null!==e&&(e=function(e,t){jn.params||(jn.params={}),jn.params.ttl=t}(0,e[1])),null===e&&(kn=r),e}function Ce(){var e,t,r,i;return r=kn,i=kn,"maddr="===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"maddr="')),null!==e&&null!==(t=re())?e=[e,t]:(e=null,kn=i),null!==e&&(e=function(e,t){jn.uri_params||(jn.uri_params={}),jn.uri_params.maddr=t}(0,e[1])),null===e&&(kn=r),e}function Se(){var e,t,r,i,o,a;return i=kn,o=kn,"lr"===n.substr(kn,2).toLowerCase()?(e=n.substr(kn,2),kn+=2):(e=null,0===Mn&&s('"lr"')),null!==e?(a=kn,61===n.charCodeAt(kn)?(t="=",kn++):(t=null,0===Mn&&s('"="')),null!==t&&null!==(r=b())?t=[t,r]:(t=null,kn=a),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(jn.uri_params||(jn.uri_params={}),e=void(jn.uri_params.lr=void 0)),null===e&&(kn=i),e}function Ee(){var e,t,r,i,o,a;return i=kn,o=kn,null!==(e=ye())?(a=kn,61===n.charCodeAt(kn)?(t="=",kn++):(t=null,0===Mn&&s('"="')),null!==t&&null!==(r=Ae())?t=[t,r]:(t=null,kn=a),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e,t,n){jn.uri_params||(jn.uri_params={}),n=void 0===n?void 0:n[1],jn.uri_params[t.toLowerCase()]=n}(0,e[0],e[1])),null===e&&(kn=i),e}function ye(){var e,t,n;if(n=kn,null!==(t=Re()))for(e=[];null!==t;)e.push(t),t=Re();else e=null;return null!==e&&(e=e.join("")),null===e&&(kn=n),e}function Ae(){var e,t,n;if(n=kn,null!==(t=Re()))for(e=[];null!==t;)e.push(t),t=Re();else e=null;return null!==e&&(e=e.join("")),null===e&&(kn=n),e}function Re(){var e;return null===(e=be())&&null===(e=g())&&(e=T()),e}function be(){var e;return 91===n.charCodeAt(kn)?(e="[",kn++):(e=null,0===Mn&&s('"["')),null===e&&(93===n.charCodeAt(kn)?(e="]",kn++):(e=null,0===Mn&&s('"]"')),null===e&&(47===n.charCodeAt(kn)?(e="/",kn++):(e=null,0===Mn&&s('"/"')),null===e&&(58===n.charCodeAt(kn)?(e=":",kn++):(e=null,0===Mn&&s('":"')),null===e&&(38===n.charCodeAt(kn)?(e="&",kn++):(e=null,0===Mn&&s('"&"')),null===e&&(43===n.charCodeAt(kn)?(e="+",kn++):(e=null,0===Mn&&s('"+"')),null===e&&(36===n.charCodeAt(kn)?(e="$",kn++):(e=null,0===Mn&&s('"$"')))))))),e}function we(){var e,t,r,i,o,a,l;if(a=kn,63===n.charCodeAt(kn)?(e="?",kn++):(e=null,0===Mn&&s('"?"')),null!==e)if(null!==(t=Ie())){for(r=[],l=kn,38===n.charCodeAt(kn)?(i="&",kn++):(i=null,0===Mn&&s('"&"')),null!==i&&null!==(o=Ie())?i=[i,o]:(i=null,kn=l);null!==i;)r.push(i),l=kn,38===n.charCodeAt(kn)?(i="&",kn++):(i=null,0===Mn&&s('"&"')),null!==i&&null!==(o=Ie())?i=[i,o]:(i=null,kn=l);null!==r?e=[e,t,r]:(e=null,kn=a)}else e=null,kn=a;else e=null,kn=a;return e}function Ie(){var e,t,r,i,o;return i=kn,o=kn,null!==(e=Oe())?(61===n.charCodeAt(kn)?(t="=",kn++):(t=null,0===Mn&&s('"="')),null!==t&&null!==(r=xe())?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e,t,n){t=t.join("").toLowerCase(),n=n.join(""),jn.uri_headers||(jn.uri_headers={}),jn.uri_headers[t]?jn.uri_headers[t].push(n):jn.uri_headers[t]=[n]}(0,e[0],e[2])),null===e&&(kn=i),e}function Oe(){var e,t;if(null===(t=Ne())&&null===(t=g())&&(t=T()),null!==t)for(e=[];null!==t;)e.push(t),null===(t=Ne())&&null===(t=g())&&(t=T());else e=null;return e}function xe(){var e,t;for(e=[],null===(t=Ne())&&null===(t=g())&&(t=T());null!==t;)e.push(t),null===(t=Ne())&&null===(t=g())&&(t=T());return e}function Ne(){var e;return 91===n.charCodeAt(kn)?(e="[",kn++):(e=null,0===Mn&&s('"["')),null===e&&(93===n.charCodeAt(kn)?(e="]",kn++):(e=null,0===Mn&&s('"]"')),null===e&&(47===n.charCodeAt(kn)?(e="/",kn++):(e=null,0===Mn&&s('"/"')),null===e&&(63===n.charCodeAt(kn)?(e="?",kn++):(e=null,0===Mn&&s('"?"')),null===e&&(58===n.charCodeAt(kn)?(e=":",kn++):(e=null,0===Mn&&s('":"')),null===e&&(43===n.charCodeAt(kn)?(e="+",kn++):(e=null,0===Mn&&s('"+"')),null===e&&(36===n.charCodeAt(kn)?(e="$",kn++):(e=null,0===Mn&&s('"$"')))))))),e}function Pe(){var e,t,n,r,s,i;return i=kn,null!==(e=ot())&&null!==(t=h())&&null!==(n=De())&&null!==(r=h())&&null!==(s=$e())?e=[e,t,n,r,s]:(e=null,kn=i),e}function De(){var e;return null===(e=K())&&(e=Ue()),e}function Ue(){var e,t,r,i;return i=kn,null!==(e=Ve())?(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null!==t?(null===(r=ke())&&(r=qe()),null!==r?e=[e,t,r]:(e=null,kn=i)):(e=null,kn=i)):(e=null,kn=i),e}function ke(){var e,t,r,i,o;return i=kn,null===(e=Me())&&(e=Le()),null!==e?(o=kn,63===n.charCodeAt(kn)?(t="?",kn++):(t=null,0===Mn&&s('"?"')),null!==t&&null!==(r=Ye())?t=[t,r]:(t=null,kn=o),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=i)):(e=null,kn=i),e}function Me(){var e,t,r,i;return i=kn,"//"===n.substr(kn,2)?(e="//",kn+=2):(e=null,0===Mn&&s('"//"')),null!==e&&null!==(t=ze())&&null!==(r=null!==(r=Le())?r:"")?e=[e,t,r]:(e=null,kn=i),e}function Le(){var e,t,r;return r=kn,47===n.charCodeAt(kn)?(e="/",kn++):(e=null,0===Mn&&s('"/"')),null!==e&&null!==(t=je())?e=[e,t]:(e=null,kn=r),e}function qe(){var e,t,n,r;if(r=kn,null!==(e=Fe())){for(t=[],n=He();null!==n;)t.push(n),n=He();null!==t?e=[e,t]:(e=null,kn=r)}else e=null,kn=r;return e}function He(){var e;return null===(e=m())&&null===(e=g())&&(e=T()),e}function Fe(){var e;return null===(e=g())&&null===(e=T())&&(59===n.charCodeAt(kn)?(e=";",kn++):(e=null,0===Mn&&s('";"')),null===e&&(63===n.charCodeAt(kn)?(e="?",kn++):(e=null,0===Mn&&s('"?"')),null===e&&(58===n.charCodeAt(kn)?(e=":",kn++):(e=null,0===Mn&&s('":"')),null===e&&(64===n.charCodeAt(kn)?(e="@",kn++):(e=null,0===Mn&&s('"@"')),null===e&&(38===n.charCodeAt(kn)?(e="&",kn++):(e=null,0===Mn&&s('"&"')),null===e&&(61===n.charCodeAt(kn)?(e="=",kn++):(e=null,0===Mn&&s('"="')),null===e&&(43===n.charCodeAt(kn)?(e="+",kn++):(e=null,0===Mn&&s('"+"')),null===e&&(36===n.charCodeAt(kn)?(e="$",kn++):(e=null,0===Mn&&s('"$"')),null===e&&(44===n.charCodeAt(kn)?(e=",",kn++):(e=null,0===Mn&&s('","'))))))))))),e}function je(){var e,t,r,i,o,a;if(o=kn,null!==(e=Ge())){for(t=[],a=kn,47===n.charCodeAt(kn)?(r="/",kn++):(r=null,0===Mn&&s('"/"')),null!==r&&null!==(i=Ge())?r=[r,i]:(r=null,kn=a);null!==r;)t.push(r),a=kn,47===n.charCodeAt(kn)?(r="/",kn++):(r=null,0===Mn&&s('"/"')),null!==r&&null!==(i=Ge())?r=[r,i]:(r=null,kn=a);null!==t?e=[e,t]:(e=null,kn=o)}else e=null,kn=o;return e}function Ge(){var e,t,r,i,o,a;for(o=kn,e=[],t=We();null!==t;)e.push(t),t=We();if(null!==e){for(t=[],a=kn,59===n.charCodeAt(kn)?(r=";",kn++):(r=null,0===Mn&&s('";"')),null!==r&&null!==(i=Be())?r=[r,i]:(r=null,kn=a);null!==r;)t.push(r),a=kn,59===n.charCodeAt(kn)?(r=";",kn++):(r=null,0===Mn&&s('";"')),null!==r&&null!==(i=Be())?r=[r,i]:(r=null,kn=a);null!==t?e=[e,t]:(e=null,kn=o)}else e=null,kn=o;return e}function Be(){var e,t;for(e=[],t=We();null!==t;)e.push(t),t=We();return e}function We(){var e;return null===(e=g())&&null===(e=T())&&(58===n.charCodeAt(kn)?(e=":",kn++):(e=null,0===Mn&&s('":"')),null===e&&(64===n.charCodeAt(kn)?(e="@",kn++):(e=null,0===Mn&&s('"@"')),null===e&&(38===n.charCodeAt(kn)?(e="&",kn++):(e=null,0===Mn&&s('"&"')),null===e&&(61===n.charCodeAt(kn)?(e="=",kn++):(e=null,0===Mn&&s('"="')),null===e&&(43===n.charCodeAt(kn)?(e="+",kn++):(e=null,0===Mn&&s('"+"')),null===e&&(36===n.charCodeAt(kn)?(e="$",kn++):(e=null,0===Mn&&s('"$"')),null===e&&(44===n.charCodeAt(kn)?(e=",",kn++):(e=null,0===Mn&&s('","'))))))))),e}function Ve(){var e,t,r,i,l;if(i=kn,l=kn,null!==(e=a())){for(t=[],null===(r=a())&&null===(r=o())&&(43===n.charCodeAt(kn)?(r="+",kn++):(r=null,0===Mn&&s('"+"')),null===r&&(45===n.charCodeAt(kn)?(r="-",kn++):(r=null,0===Mn&&s('"-"')),null===r&&(46===n.charCodeAt(kn)?(r=".",kn++):(r=null,0===Mn&&s('"."')))));null!==r;)t.push(r),null===(r=a())&&null===(r=o())&&(43===n.charCodeAt(kn)?(r="+",kn++):(r=null,0===Mn&&s('"+"')),null===r&&(45===n.charCodeAt(kn)?(r="-",kn++):(r=null,0===Mn&&s('"-"')),null===r&&(46===n.charCodeAt(kn)?(r=".",kn++):(r=null,0===Mn&&s('"."')))));null!==t?e=[e,t]:(e=null,kn=l)}else e=null,kn=l;return null!==e&&(e=function(e){jn.scheme=n.substring(kn,e)}(i)),null===e&&(kn=i),e}function ze(){var e;return null===(e=Je())&&(e=Ke()),e}function Je(){var e,t,r,i;return r=kn,i=kn,null!==(e=Q())?(64===n.charCodeAt(kn)?(t="@",kn++):(t=null,0===Mn&&s('"@"')),null!==t?e=[e,t]:(e=null,kn=i)):(e=null,kn=i),null!==(e=null!==e?e:"")&&null!==(t=ne())?e=[e,t]:(e=null,kn=r),e=null!==e?e:""}function Ke(){var e,t;if(null===(t=g())&&null===(t=T())&&(36===n.charCodeAt(kn)?(t="$",kn++):(t=null,0===Mn&&s('"$"')),null===t&&(44===n.charCodeAt(kn)?(t=",",kn++):(t=null,0===Mn&&s('","')),null===t&&(59===n.charCodeAt(kn)?(t=";",kn++):(t=null,0===Mn&&s('";"')),null===t&&(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null===t&&(64===n.charCodeAt(kn)?(t="@",kn++):(t=null,0===Mn&&s('"@"')),null===t&&(38===n.charCodeAt(kn)?(t="&",kn++):(t=null,0===Mn&&s('"&"')),null===t&&(61===n.charCodeAt(kn)?(t="=",kn++):(t=null,0===Mn&&s('"="')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"')))))))))),null!==t)for(e=[];null!==t;)e.push(t),null===(t=g())&&null===(t=T())&&(36===n.charCodeAt(kn)?(t="$",kn++):(t=null,0===Mn&&s('"$"')),null===t&&(44===n.charCodeAt(kn)?(t=",",kn++):(t=null,0===Mn&&s('","')),null===t&&(59===n.charCodeAt(kn)?(t=";",kn++):(t=null,0===Mn&&s('";"')),null===t&&(58===n.charCodeAt(kn)?(t=":",kn++):(t=null,0===Mn&&s('":"')),null===t&&(64===n.charCodeAt(kn)?(t="@",kn++):(t=null,0===Mn&&s('"@"')),null===t&&(38===n.charCodeAt(kn)?(t="&",kn++):(t=null,0===Mn&&s('"&"')),null===t&&(61===n.charCodeAt(kn)?(t="=",kn++):(t=null,0===Mn&&s('"="')),null===t&&(43===n.charCodeAt(kn)?(t="+",kn++):(t=null,0===Mn&&s('"+"'))))))))));else e=null;return e}function Ye(){var e,t;for(e=[],t=He();null!==t;)e.push(t),t=He();return e}function $e(){var e,t,r,i,a,l,u,c;if(u=kn,c=kn,"sip"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"SIP"')),null!==e)if(47===n.charCodeAt(kn)?(t="/",kn++):(t=null,0===Mn&&s('"/"')),null!==t){if(null!==(i=o())
1)for(r=[];null!==i;)r.push(i),i=o();else r=null;if(null!==r)if(46===n.charCodeAt(kn)?(i=".",kn++):(i=null,0===Mn&&s('"."')),null!==i){if(null!==(l=o()))for(a=[];null!==l;)a.push(l),l=o();else a=null;null!==a?e=[e,t,r,i,a]:(e=null,kn=c)}else e=null,kn=c;else e=null,kn=c}else e=null,kn=c;else e=null,kn=c;return null!==e&&(e=function(e){jn.sip_version=n.substring(kn,e)}(u)),null===e&&(kn=u),e}function Xe(){var e;return"INVITE"===n.substr(kn,6)?(e="INVITE",kn+=6):(e=null,0===Mn&&s('"INVITE"')),e}function Qe(){var e;return"ACK"===n.substr(kn,3)?(e="ACK",kn+=3):(e=null,0===Mn&&s('"ACK"')),e}function Ze(){var e;return"OPTIONS"===n.substr(kn,7)?(e="OPTIONS",kn+=7):(e=null,0===Mn&&s('"OPTIONS"')),e}function et(){var e;return"BYE"===n.substr(kn,3)?(e="BYE",kn+=3):(e=null,0===Mn&&s('"BYE"')),e}function tt(){var e;return"CANCEL"===n.substr(kn,6)?(e="CANCEL",kn+=6):(e=null,0===Mn&&s('"CANCEL"')),e}function nt(){var e;return"REGISTER"===n.substr(kn,8)?(e="REGISTER",kn+=8):(e=null,0===Mn&&s('"REGISTER"')),e}function rt(){var e;return"SUBSCRIBE"===n.substr(kn,9)?(e="SUBSCRIBE",kn+=9):(e=null,0===Mn&&s('"SUBSCRIBE"')),e}function st(){var e;return"NOTIFY"===n.substr(kn,6)?(e="NOTIFY",kn+=6):(e=null,0===Mn&&s('"NOTIFY"')),e}function it(){var e;return"REFER"===n.substr(kn,5)?(e="REFER",kn+=5):(e=null,0===Mn&&s('"REFER"')),e}function ot(){var e,t;return t=kn,null===(e=Xe())&&null===(e=Qe())&&null===(e=Ze())&&null===(e=et())&&null===(e=tt())&&null===(e=nt())&&null===(e=rt())&&null===(e=st())&&null===(e=it())&&(e=b()),null!==e&&(e=function(e){return jn.method=n.substring(kn,e),jn.method}(t)),null===e&&(kn=t),e}function at(){var e,t,n,r,s,i;return i=kn,null!==(e=$e())&&null!==(t=h())&&null!==(n=lt())&&null!==(r=h())&&null!==(s=ct())?e=[e,t,n,r,s]:(e=null,kn=i),e}function lt(){var e,t;return t=kn,null!==(e=ut())&&(e=function(e,t){jn.status_code=parseInt(t.join(""))}(0,e)),null===e&&(kn=t),e}function ut(){var e,t,n,r;return r=kn,null!==(e=o())&&null!==(t=o())&&null!==(n=o())?e=[e,t,n]:(e=null,kn=r),e}function ct(){var e,t,r;for(r=kn,e=[],null===(t=m())&&null===(t=g())&&null===(t=T())&&null===(t=A())&&null===(t=R())&&null===(t=h())&&(t=p());null!==t;)e.push(t),null===(t=m())&&null===(t=g())&&null===(t=T())&&null===(t=A())&&null===(t=R())&&null===(t=h())&&(t=p());return null!==e&&(e=function(e){jn.reason_phrase=n.substring(kn,e)}(r)),null===e&&(kn=r),e}function dt(){var e,t,n,r,s,i,o;if(s=kn,i=kn,null===(e=J())&&(e=ht()),null!==e){for(t=[],o=kn,null!==(n=L())&&null!==(r=ft())?n=[n,r]:(n=null,kn=o);null!==n;)t.push(n),o=kn,null!==(n=L())&&null!==(r=ft())?n=[n,r]:(n=null,kn=o);null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return null!==e&&(e=function(e){var t;jn.multi_header||(jn.multi_header=[]);try{t=new Fn(jn.uri,jn.display_name,jn.params),delete jn.uri,delete jn.display_name,delete jn.params}catch(e){t=null}jn.multi_header.push({possition:kn,offset:e,parsed:t})}(s)),null===e&&(kn=s),e}function ht(){var e,t,n,r,s;return s=kn,e=pt(),null!==(e=null!==e?e:"")&&null!==(t=k())&&null!==(n=K())&&null!==(r=U())?e=[e,t,n,r]:(e=null,kn=s),e}function pt(){var e,t,r,s,i,o,a;if(i=kn,o=kn,null!==(e=b())){for(t=[],a=kn,null!==(r=_())&&null!==(s=b())?r=[r,s]:(r=null,kn=a);null!==r;)t.push(r),a=kn,null!==(r=_())&&null!==(s=b())?r=[r,s]:(r=null,kn=a);null!==t?e=[e,t]:(e=null,kn=o)}else e=null,kn=o;return null===e&&(e=B()),null!==e&&(e=function(e,t){'"'===(t=n.substring(kn,e).trim())[0]&&(t=t.substring(1,t.length-1)),jn.display_name=t}(i,e)),null===e&&(kn=i),e}function ft(){var e;return null===(e=mt())&&null===(e=gt())&&(e=_t()),e}function mt(){var e,t,r,i,o;return i=kn,o=kn,"q"===n.substr(kn,1).toLowerCase()?(e=n.substr(kn,1),kn++):(e=null,0===Mn&&s('"q"')),null!==e&&null!==(t=N())&&null!==(r=Tt())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.params||(jn.params={}),jn.params.q=t}(0,e[2])),null===e&&(kn=i),e}function gt(){var e,t,r,i,o;return i=kn,o=kn,"expires"===n.substr(kn,7).toLowerCase()?(e=n.substr(kn,7),kn+=7):(e=null,0===Mn&&s('"expires"')),null!==e&&null!==(t=N())&&null!==(r=vt())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.params||(jn.params={}),jn.params.expires=t}(0,e[2])),null===e&&(kn=i),e}function vt(){var e,t,n;if(n=kn,null!==(t=o()))for(e=[];null!==t;)e.push(t),t=o();else e=null;return null!==e&&(e=function(e,t){return parseInt(t.join(""))}(0,e)),null===e&&(kn=n),e}function Tt(){var e,t,r,i,a,l,u,c;return l=kn,u=kn,48===n.charCodeAt(kn)?(e="0",kn++):(e=null,0===Mn&&s('"0"')),null!==e?(c=kn,46===n.charCodeAt(kn)?(t=".",kn++):(t=null,0===Mn&&s('"."')),null!==t&&null!==(r=null!==(r=o())?r:"")&&null!==(i=null!==(i=o())?i:"")&&null!==(a=null!==(a=o())?a:"")?t=[t,r,i,a]:(t=null,kn=c),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=u)):(e=null,kn=u),null!==e&&(e=function(e){return parseFloat(n.substring(kn,e))}(l)),null===e&&(kn=l),e}function _t(){var e,t,n,r,s,i;return r=kn,s=kn,null!==(e=b())?(i=kn,null!==(t=N())&&null!==(n=Ct())?t=[t,n]:(t=null,kn=i),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=s)):(e=null,kn=s),null!==e&&(e=function(e,t,n){jn.params||(jn.params={}),n=void 0===n?void 0:n[1],jn.params[t.toLowerCase()]=n}(0,e[0],e[1])),null===e&&(kn=r),e}function Ct(){var e;return null===(e=b())&&null===(e=re())&&(e=B()),e}function St(){var e;return"render"===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"render"')),null===e&&("session"===n.substr(kn,7).toLowerCase()?(e=n.substr(kn,7),kn+=7):(e=null,0===Mn&&s('"session"')),null===e&&("icon"===n.substr(kn,4).toLowerCase()?(e=n.substr(kn,4),kn+=4):(e=null,0===Mn&&s('"icon"')),null===e&&("alert"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"alert"')),null===e&&(e=b())))),e}function Et(){var e;
vendor: 8,223 bytes, line 1
1return null===(e=yt())&&(e=_t()),e}function yt(){var e,t,r,i;return i=kn,"handling"===n.substr(kn,8).toLowerCase()?(e=n.substr(kn,8),kn+=8):(e=null,0===Mn&&s('"handling"')),null!==e&&null!==(t=N())?("optional"===n.substr(kn,8).toLowerCase()?(r=n.substr(kn,8),kn+=8):(r=null,0===Mn&&s('"optional"')),null===r&&("required"===n.substr(kn,8).toLowerCase()?(r=n.substr(kn,8),kn+=8):(r=null,0===Mn&&s('"required"')),null===r&&(r=b())),null!==r?e=[e,t,r]:(e=null,kn=i)):(e=null,kn=i),e}function At(){var e,t,n,r,s,i,o,a;if(o=kn,null!==(e=Rt()))if(null!==(t=x()))if(null!==(n=xt())){for(r=[],a=kn,null!==(s=L())&&null!==(i=Nt())?s=[s,i]:(s=null,kn=a);null!==s;)r.push(s),a=kn,null!==(s=L())&&null!==(i=Nt())?s=[s,i]:(s=null,kn=a);null!==r?e=[e,t,n,r]:(e=null,kn=o)}else e=null,kn=o;else e=null,kn=o;else e=null,kn=o;return e}function Rt(){var e;return null===(e=bt())&&(e=wt()),e}function bt(){var e;return"text"===n.substr(kn,4).toLowerCase()?(e=n.substr(kn,4),kn+=4):(e=null,0===Mn&&s('"text"')),null===e&&("image"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"image"')),null===e&&("audio"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"audio"')),null===e&&("video"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"video"')),null===e&&("application"===n.substr(kn,11).toLowerCase()?(e=n.substr(kn,11),kn+=11):(e=null,0===Mn&&s('"application"')),null===e&&(e=It()))))),e}function wt(){var e;return"message"===n.substr(kn,7).toLowerCase()?(e=n.substr(kn,7),kn+=7):(e=null,0===Mn&&s('"message"')),null===e&&("multipart"===n.substr(kn,9).toLowerCase()?(e=n.substr(kn,9),kn+=9):(e=null,0===Mn&&s('"multipart"')),null===e&&(e=It())),e}function It(){var e;return null===(e=b())&&(e=Ot()),e}function Ot(){var e,t,r;return r=kn,"x-"===n.substr(kn,2).toLowerCase()?(e=n.substr(kn,2),kn+=2):(e=null,0===Mn&&s('"x-"')),null!==e&&null!==(t=b())?e=[e,t]:(e=null,kn=r),e}function xt(){var e;return null===(e=It())&&(e=b()),e}function Nt(){var e,t,n,r;return r=kn,null!==(e=b())&&null!==(t=N())&&null!==(n=Pt())?e=[e,t,n]:(e=null,kn=r),e}function Pt(){var e;return null===(e=b())&&(e=B()),e}function Dt(){var e,t,n;if(n=kn,null!==(t=o()))for(e=[];null!==t;)e.push(t),t=o();else e=null;return null!==e&&(e=function(e,t){jn.value=parseInt(t.join(""))}(0,e)),null===e&&(kn=n),e}function Ut(){var e,t,r,i,o,a;if(o=kn,null!==(e=w())){for(t=[],a=kn,46===n.charCodeAt(kn)?(r=".",kn++):(r=null,0===Mn&&s('"."')),null!==r&&null!==(i=w())?r=[r,i]:(r=null,kn=a);null!==r;)t.push(r),a=kn,46===n.charCodeAt(kn)?(r=".",kn++):(r=null,0===Mn&&s('"."')),null!==r&&null!==(i=w())?r=[r,i]:(r=null,kn=a);null!==t?e=[e,t]:(e=null,kn=o)}else e=null,kn=o;return e}function kt(){var e;return null===(e=Mt())&&(e=_t()),e}function Mt(){var e,t,r,i,o;return i=kn,o=kn,"tag"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"tag"')),null!==e&&null!==(t=N())&&null!==(r=b())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.tag=t}(0,e[2])),null===e&&(kn=i),e}function Lt(){var e,t,r,i,o,a,l,u;if(l=kn,"digest"===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"Digest"')),null!==e)if(null!==(t=_()))if(null!==(r=Ft())){for(i=[],u=kn,null!==(o=M())&&null!==(a=Ft())?o=[o,a]:(o=null,kn=u);null!==o;)i.push(o),u=kn,null!==(o=M())&&null!==(a=Ft())?o=[o,a]:(o=null,kn=u);null!==i?e=[e,t,r,i]:(e=null,kn=l)}else e=null,kn=l;else e=null,kn=l;else e=null,kn=l;return null===e&&(e=qt()),e}function qt(){var e,t,n,r,s,i,o,a;if(o=kn,null!==(e=b()))if(null!==(t=_()))if(null!==(n=Ht())){for(r=[],a=kn,null!==(s=M())&&null!==(i=Ht())?s=[s,i]:(s=null,kn=a);null!==s;)r.push(s),a=kn,null!==(s=M())&&null!==(i=Ht())?s=[s,i]:(s=null,kn=a);null!==r?e=[e,t,n,r]:(e=null,kn=o)}else e=null,kn=o;else e=null,kn=o;else e=null,kn=o;return e}function Ht(){var e,t,n,r;return r=kn,null!==(e=b())&&null!==(t=N())?(null===(n=b())&&(n=B()),null!==n?e=[e,t,n]:(e=null,kn=r)):(e=null,kn=r),e}function Ft(){var e;return null===(e=jt())&&null===(e=Bt())&&null===(e=Vt())&&null===(e=Jt())&&null===(e=Kt())&&null===(e=Yt())&&null===(e=$t())&&(e=Ht()),e}function jt(){var e,t,r,i;return i=kn,"realm"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"realm"')),null!==e&&null!==(t=N())&&null!==(r=Gt())?e=[e,t,r]:(e=null,kn=i),e}function Gt(){var e,t;return t=kn,null!==(e=W())&&(e=function(e,t){jn.realm=t}(0,e)),null===e&&(kn=t),e}function Bt(){var e,t,r,i,o,a,l,u,c;if(u=kn,"domain"===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"domain"')),null!==e)if(null!==(t=N()))if(null!==(r=H()))if(null!==(i=Wt())){if(o=[],c=kn,null!==(l=h()))for(a=[];null!==l;)a.push(l),l=h();else a=null;for(null!==a&&null!==(l=Wt())?a=[a,l]:(a=null,kn=c);null!==a;){if(o.push(a),c=kn,null!==(l=h()))for(a=[];null!==l;)a.push(l),l=h();else a=null;null!==a&&null!==(l=Wt())?a=[a,l]:(a=null,kn=c)}null!==o&&null!==(a=F())?e=[e,t,r,i,o,a]:(e=null,kn=u)}else e=null,kn=u;else e=null,kn=u;else e=null,kn=u;else e=null,kn=u;return e}function Wt(){var e;return null===(e=Ue())&&(e=Le()),e}function Vt(){var e,t,r,i;return i=kn,"nonce"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"nonce"')),null!==e&&null!==(t=N())&&null!==(r=zt())?e=[e,t,r]:(e=null,kn=i),e}function zt(){var e,t;return t=kn,null!==(e=W())&&(e=function(e,t){jn.nonce=t}(0,e)),null===e&&(kn=t),e}function Jt(){var e,t,r,i,o;return i=kn,o=kn,"opaque"===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"opaque"')),null!==e&&null!==(t=N())&&null!==(r=W())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.opaque=t}(0,e[2])),null===e&&(kn=i),e}function Kt(){var e,t,r,i,o;return i=kn,"stale"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"stale"')),null!==e&&null!==(t=N())?(o=kn,"true"===n.substr(kn,4).toLowerCase()?(r=n.substr(kn,4),kn+=4):(r=null,0===Mn&&s('"true"')),null!==r&&(r=void(jn.stale=!0)),null===r&&(kn=o),null===r&&(o=kn,"false"===n.substr(kn,5).toLowerCase()?(r=n.substr(kn,5),kn+=5):(r=null,0===Mn&&s('"false"')),null!==r&&(r=void(jn.stale=!1)),null===r&&(kn=o)),null!==r?e=[e,t,r]:(e=null,kn=i)):(e=null,kn=i),e}function Yt(){var e,t,r,i,o;return i=kn,o=kn,"algorithm"===n.substr(kn,9).toLowerCase()?(e=n.substr(kn,9),kn+=9):(e=null,0===Mn&&s('"algorithm"')),null!==e&&null!==(t=N())?("md5"===n.substr(kn,3).toLowerCase()?(r=n.substr(kn,3),kn+=3):(r=null,0===Mn&&s('"MD5"')),null===r&&("md5-sess"===n.substr(kn,8).toLowerCase()?(r=n.substr(kn,8),kn+=8):(r=null,0===Mn&&s('"MD5-sess"')),null===r&&(r=b())),null!==r?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e,t){jn.algorithm=t.toUpperCase()}(0,e[2])),null===e&&(kn=i),e}function $t(){var e,t,r,i,o,a,l,u,c,d;if(u=kn,"qop"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"qop"')),null!==e)if(null!==(t=N()))if(null!==(r=H())){if(c=kn,null!==(i=Xt())){for(o=[],d=kn,44===n.charCodeAt(kn)?(a=",",kn++):(a=null,0===Mn&&s('","')),null!==a&&null!==(l=Xt())?a=[a,l]:(a=null,kn=d);null!==a;)o.push(a),d=kn,44===n.charCodeAt(kn)?(a=",",kn++):(a=null,0===Mn&&s('","')),null!==a&&null!==(l=Xt())?a=[a,l]:(a=null,kn=d);null!==o?i=[i,o]:(i=null,kn=c)}else i=null,kn=c;null!==i&&null!==(o=F())?e=[e,t,r,i,o]:(e=null,kn=u)}else e=null,kn=u;else e=null,kn=u;else e=null,kn=u;return e}function Xt(){var e,t;return t=kn,"auth-int"===n.substr(kn,8).toLowerCase()?(e=n.substr(kn,8),kn+=8):(e=null,0===Mn&&s('"auth-int"')),null===e&&("auth"===n.substr(kn,4).toLowerCase()?(e=n.substr(kn,4),kn+=4):(e=null,0===Mn&&s('"auth"')),null===e&&(e=b())),null!==e&&(e=function(e,t){jn.qop||(jn.qop=[]),jn.qop.push(t.toLowerCase())}(0,e)),null===e&&(kn=t),e}function Qt(){var e,t,n,r,s,i,o;if(s=kn,i=kn,null!==(e=ht())){for(t=[],o=kn,null!==(n=L())&&null!==(r=_t())?n=[n,r]:(n=null,kn=o);null!==n;)t.push(n),o=kn,null!==(n=L())&&null!==(r=_t())?n=[n,r]:(n=null,kn=o);null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return null!==e&&(e=function(e){var t;jn.multi_header||(jn.multi_header=[]);try{t=new Fn(jn.uri,jn.display_name,jn.params),delete jn.uri,delete jn.display_name,delete jn.params}catch(e){t=null}jn.multi_header.push({possition:kn,offset:e,parsed:t})}(s)),null===e&&(kn=s),e}function Zt(){var e;
1return null===(e=en())&&(e=_t()),e}function en(){var e,t,r,i,a,l;if(a=kn,l=kn,"cause"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"cause"')),null!==e)if(null!==(t=N())){if(null!==(i=o()))for(r=[];null!==i;)r.push(i),i=o();else r=null;null!==r?e=[e,t,r]:(e=null,kn=l)}else e=null,kn=l;else e=null,kn=l;return null!==e&&(e=function(e,t){jn.cause=parseInt(t.join(""))}(0,e[2])),null===e&&(kn=a),e}function tn(){var e,t,n,r,s,i;if(s=kn,null!==(e=ht())){for(t=[],i=kn,null!==(n=L())&&null!==(r=_t())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=L())&&null!==(r=_t())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e}function nn(){var e,t;return t=kn,"active"===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"active"')),null===e&&("pending"===n.substr(kn,7).toLowerCase()?(e=n.substr(kn,7),kn+=7):(e=null,0===Mn&&s('"pending"')),null===e&&("terminated"===n.substr(kn,10).toLowerCase()?(e=n.substr(kn,10),kn+=10):(e=null,0===Mn&&s('"terminated"')),null===e&&(e=b()))),null!==e&&(e=function(e){jn.state=n.substring(kn,e)}(t)),null===e&&(kn=t),e}function rn(){var e,t,r,i,o;return i=kn,o=kn,"reason"===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"reason"')),null!==e&&null!==(t=N())&&null!==(r=sn())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){void 0!==t&&(jn.reason=t)}(0,e[2])),null===e&&(kn=i),null===e&&(i=kn,o=kn,"expires"===n.substr(kn,7).toLowerCase()?(e=n.substr(kn,7),kn+=7):(e=null,0===Mn&&s('"expires"')),null!==e&&null!==(t=N())&&null!==(r=vt())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){void 0!==t&&(jn.expires=t)}(0,e[2])),null===e&&(kn=i),null===e&&(i=kn,o=kn,"retry_after"===n.substr(kn,11).toLowerCase()?(e=n.substr(kn,11),kn+=11):(e=null,0===Mn&&s('"retry_after"')),null!==e&&null!==(t=N())&&null!==(r=vt())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){void 0!==t&&(jn.retry_after=t)}(0,e[2])),null===e&&(kn=i),null===e&&(e=_t()))),e}function sn(){var e;return"deactivated"===n.substr(kn,11).toLowerCase()?(e=n.substr(kn,11),kn+=11):(e=null,0===Mn&&s('"deactivated"')),null===e&&("probation"===n.substr(kn,9).toLowerCase()?(e=n.substr(kn,9),kn+=9):(e=null,0===Mn&&s('"probation"')),null===e&&("rejected"===n.substr(kn,8).toLowerCase()?(e=n.substr(kn,8),kn+=8):(e=null,0===Mn&&s('"rejected"')),null===e&&("timeout"===n.substr(kn,7).toLowerCase()?(e=n.substr(kn,7),kn+=7):(e=null,0===Mn&&s('"timeout"')),null===e&&("giveup"===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"giveup"')),null===e&&("noresource"===n.substr(kn,10).toLowerCase()?(e=n.substr(kn,10),kn+=10):(e=null,0===Mn&&s('"noresource"')),null===e&&("invariant"===n.substr(kn,9).toLowerCase()?(e=n.substr(kn,9),kn+=9):(e=null,0===Mn&&s('"invariant"')),null===e&&(e=b()))))))),e}function on(){var e;return null===(e=Mt())&&(e=_t()),e}function an(){var e,t,n,r,s,i,o,a;if(o=kn,null!==(e=fn()))if(null!==(t=_()))if(null!==(n=vn())){for(r=[],a=kn,null!==(s=L())&&null!==(i=ln())?s=[s,i]:(s=null,kn=a);null!==s;)r.push(s),a=kn,null!==(s=L())&&null!==(i=ln())?s=[s,i]:(s=null,kn=a);null!==r?e=[e,t,n,r]:(e=null,kn=o)}else e=null,kn=o;else e=null,kn=o;else e=null,kn=o;return e}function ln(){var e;return null===(e=un())&&null===(e=cn())&&null===(e=dn())&&null===(e=hn())&&null===(e=pn())&&(e=_t()),e}function un(){var e,t,r,i,o;return i=kn,o=kn,"ttl"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"ttl"')),null!==e&&null!==(t=N())&&null!==(r=Cn())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.ttl=t}(0,e[2])),null===e&&(kn=i),e}function cn(){var e,t,r,i,o;return i=kn,o=kn,"maddr"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"maddr"')),null!==e&&null!==(t=N())&&null!==(r=re())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.maddr=t}(0,e[2])),null===e&&(kn=i),e}function dn(){var e,t,r,i,o;return i=kn,o=kn,"received"===n.substr(kn,8).toLowerCase()?(e=n.substr(kn,8),kn+=8):(e=null,0===Mn&&s('"received"')),null!==e&&null!==(t=N())?(null===(r=de())&&(r=le()),null!==r?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e,t){jn.received=t}(0,e[2])),null===e&&(kn=i),e}function hn(){var e,t,r,i,o;return i=kn,o=kn,"branch"===n.substr(kn,6).toLowerCase()?(e=n.substr(kn,6),kn+=6):(e=null,0===Mn&&s('"branch"')),null!==e&&null!==(t=N())&&null!==(r=b())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.branch=t}(0,e[2])),null===e&&(kn=i),e}function pn(){var e,t,r,i,a,l,u;if(a=kn,l=kn,"rport"===n.substr(kn,5).toLowerCase()?(e=n.substr(kn,5),kn+=5):(e=null,0===Mn&&s('"rport"')),null!==e){if(u=kn,null!==(t=N())){for(r=[],i=o();null!==i;)r.push(i),i=o();null!==r?t=[t,r]:(t=null,kn=u)}else t=null,kn=u;null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=l)}else e=null,kn=l;return null!==e&&(e=void("undefined"!=typeof response_port&&(jn.rport=response_port.join("")))),null===e&&(kn=a),e}function fn(){var e,t,n,r,s,i;return i=kn,null!==(e=mn())&&null!==(t=x())&&null!==(n=b())&&null!==(r=x())&&null!==(s=gn())?e=[e,t,n,r,s]:(e=null,kn=i),e}function mn(){var e,t;return t=kn,"sip"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"SIP"')),null===e&&(e=b()),null!==e&&(e=function(e,t){jn.protocol=t}(0,e)),null===e&&(kn=t),e}function gn(){var e,t;return t=kn,"udp"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"UDP"')),null===e&&("tcp"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"TCP"')),null===e&&("tls"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"TLS"')),null===e&&("sctp"===n.substr(kn,4).toLowerCase()?(e=n.substr(kn,4),kn+=4):(e=null,0===Mn&&s('"SCTP"')),null===e&&(e=b())))),null!==e&&(e=function(e,t){jn.transport=t}(0,e)),null===e&&(kn=t),e}function vn(){var e,t,n,r,s;return r=kn,null!==(e=Tn())?(s=kn,null!==(t=q())&&null!==(n=_n())?t=[t,n]:(t=null,kn=s),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=r)):(e=null,kn=r),e}function Tn(){var e,t;return t=kn,null===(e=de())&&null===(e=ae())&&(e=se()),null!==e&&(e=function(e){jn.host=n.substring(kn,e)}(t)),null===e&&(kn=t),e}function _n(){var e,t,n,r,s,i,a;return i=kn,a=kn,e=o(),null!==(e=null!==e?e:"")&&null!==(t=null!==(t=o())?t:"")&&null!==(n=null!==(n=o())?n:"")&&null!==(r=null!==(r=o())?r:"")&&null!==(s=null!==(s=o())?s:"")?e=[e,t,n,r,s]:(e=null,kn=a),null!==e&&(e=function(e,t){jn.port=parseInt(t.join(""))}(0,e)),null===e&&(kn=i),e}function Cn(){var e,t,n,r,s;return r=kn,s=kn,null!==(e=o())&&null!==(t=null!==(t=o())?t:"")&&null!==(n=null!==(n=o())?n:"")?e=[e,t,n]:(e=null,kn=s),null!==e&&(e=function(e,t){return parseInt(t.join(""))}(0,e)),null===e&&(kn=r),e}function Sn(){var e,t;return t=kn,null!==(e=vt())&&(e=function(e,t){jn.expires=t}(0,e)),null===e&&(kn=t),e}function En(){var e;
vendor: 9,658 bytes, line 1
1return null===(e=yn())&&(e=_t()),e}function yn(){var e,t,r,i,o;return i=kn,o=kn,"refresher"===n.substr(kn,9).toLowerCase()?(e=n.substr(kn,9),kn+=9):(e=null,0===Mn&&s('"refresher"')),null!==e&&null!==(t=N())?("uac"===n.substr(kn,3).toLowerCase()?(r=n.substr(kn,3),kn+=3):(r=null,0===Mn&&s('"uac"')),null===r&&("uas"===n.substr(kn,3).toLowerCase()?(r=n.substr(kn,3),kn+=3):(r=null,0===Mn&&s('"uas"'))),null!==r?e=[e,t,r]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e,t){jn.refresher=t.toLowerCase()}(0,e[2])),null===e&&(kn=i),e}function An(){var e,t;for(e=[],null===(t=y())&&null===(t=R())&&(t=_());null!==t;)e.push(t),null===(t=y())&&null===(t=R())&&(t=_());return e}function Rn(){var e,t,r,i,o,a,l,u,c,d,h;return d=kn,h=kn,null!==(e=wn())?(45===n.charCodeAt(kn)?(t="-",kn++):(t=null,0===Mn&&s('"-"')),null!==t&&null!==(r=bn())?(45===n.charCodeAt(kn)?(i="-",kn++):(i=null,0===Mn&&s('"-"')),null!==i&&null!==(o=bn())?(45===n.charCodeAt(kn)?(a="-",kn++):(a=null,0===Mn&&s('"-"')),null!==a&&null!==(l=bn())?(45===n.charCodeAt(kn)?(u="-",kn++):(u=null,0===Mn&&s('"-"')),null!==u&&null!==(c=In())?e=[e,t,r,i,o,a,l,u,c]:(e=null,kn=h)):(e=null,kn=h)):(e=null,kn=h)):(e=null,kn=h)):(e=null,kn=h),null!==e&&(e=function(e,t){jn=n.substring(kn+5,e)}(d,e[0])),null===e&&(kn=d),e}function bn(){var e,t,n,r,s;return s=kn,null!==(e=l())&&null!==(t=l())&&null!==(n=l())&&null!==(r=l())?e=[e,t,n,r]:(e=null,kn=s),e}function wn(){var e,t,n;return n=kn,null!==(e=bn())&&null!==(t=bn())?e=[e,t]:(e=null,kn=n),e}function In(){var e,t,n,r;return r=kn,null!==(e=bn())&&null!==(t=bn())&&null!==(n=bn())?e=[e,t,n]:(e=null,kn=r),e}function On(){var e,t,r,i,o,a;return i=kn,o=kn,null!==(e=I())?(a=kn,64===n.charCodeAt(kn)?(t="@",kn++):(t=null,0===Mn&&s('"@"')),null!==t&&null!==(r=I())?t=[t,r]:(t=null,kn=a),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e){jn.call_id=n.substring(kn,e)}(i)),null===e&&(kn=i),e}function xn(){var e;return null===(e=Nn())&&null===(e=Pn())&&null===(e=Dn())&&(e=_t()),e}function Nn(){var e,t,r,i,o;return i=kn,o=kn,"to-tag"===n.substr(kn,6)?(e="to-tag",kn+=6):(e=null,0===Mn&&s('"to-tag"')),null!==e&&null!==(t=N())&&null!==(r=b())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.to_tag=t}(0,e[2])),null===e&&(kn=i),e}function Pn(){var e,t,r,i,o;return i=kn,o=kn,"from-tag"===n.substr(kn,8)?(e="from-tag",kn+=8):(e=null,0===Mn&&s('"from-tag"')),null!==e&&null!==(t=N())&&null!==(r=b())?e=[e,t,r]:(e=null,kn=o),null!==e&&(e=function(e,t){jn.from_tag=t}(0,e[2])),null===e&&(kn=i),e}function Dn(){var e,t;return t=kn,"early-only"===n.substr(kn,10)?(e="early-only",kn+=10):(e=null,0===Mn&&s('"early-only"')),null!==e&&(e=void(jn.early_only=!0)),null===e&&(kn=t),e}var Un={CRLF:i,DIGIT:o,ALPHA:a,HEXDIG:l,WSP:u,OCTET:c,DQUOTE:d,SP:h,HTAB:p,alphanum:f,reserved:m,unreserved:g,mark:v,escaped:T,LWS:_,SWS:C,HCOLON:S,TEXT_UTF8_TRIM:E,TEXT_UTF8char:y,UTF8_NONASCII:A,UTF8_CONT:R,LHEX:function(){var e;return null===(e=o())&&(/^[a-f]/.test(n.charAt(kn))?(e=n.charAt(kn),kn++):(e=null,0===Mn&&s("[a-f]"))),e},token:b,token_nodot:w,separators:function(){var e;return 40===n.charCodeAt(kn)?(e="(",kn++):(e=null,0===Mn&&s('"("')),null===e&&(41===n.charCodeAt(kn)?(e=")",kn++):(e=null,0===Mn&&s('")"')),null===e&&(60===n.charCodeAt(kn)?(e="<",kn++):(e=null,0===Mn&&s('"<"')),null===e&&(62===n.charCodeAt(kn)?(e=">",kn++):(e=null,0===Mn&&s('">"')),null===e&&(64===n.charCodeAt(kn)?(e="@",kn++):(e=null,0===Mn&&s('"@"')),null===e&&(44===n.charCodeAt(kn)?(e=",",kn++):(e=null,0===Mn&&s('","')),null===e&&(59===n.charCodeAt(kn)?(e=";",kn++):(e=null,0===Mn&&s('";"')),null===e&&(58===n.charCodeAt(kn)?(e=":",kn++):(e=null,0===Mn&&s('":"')),null===e&&(92===n.charCodeAt(kn)?(e="\\",kn++):(e=null,0===Mn&&s('"\\\\"')),null===e&&null===(e=d())&&(47===n.charCodeAt(kn)?(e="/",kn++):(e=null,0===Mn&&s('"/"')),null===e&&(91===n.charCodeAt(kn)?(e="[",kn++):(e=null,0===Mn&&s('"["')),null===e&&(93===n.charCodeAt(kn)?(e="]",kn++):(e=null,0===Mn&&s('"]"')),null===e&&(63===n.charCodeAt(kn)?(e="?",kn++):(e=null,0===Mn&&s('"?"')),null===e&&(61===n.charCodeAt(kn)?(e="=",kn++):(e=null,0===Mn&&s('"="')),null===e&&(123===n.charCodeAt(kn)?(e="{",kn++):(e=null,0===Mn&&s('"{"')),null===e&&(125===n.charCodeAt(kn)?(e="}",kn++):(e=null,0===Mn&&s('"}"')),null===e&&null===(e=h())&&(e=p())))))))))))))))),e},word:I,STAR:O,SLASH:x,EQUAL:N,LPAREN:P,RPAREN:D,RAQUOT:U,LAQUOT:k,COMMA:M,SEMI:L,COLON:q,LDQUOT:H,RDQUOT:F,comment:j,ctext:G,quoted_string:B,quoted_string_clean:W,qdtext:V,quoted_pair:z,SIP_URI_noparams:J,SIP_URI:K,uri_scheme:Y,uri_scheme_sips:$,uri_scheme_sip:X,userinfo:Q,user:Z,user_unreserved:ee,password:te,hostport:ne,host:re,hostname:se,domainlabel:ie,toplabel:oe,IPv6reference:ae,IPv6address:le,h16:ue,ls32:ce,IPv4address:de,dec_octet:he,port:pe,uri_parameters:fe,uri_parameter:me,transport_param:ge,user_param:ve,method_param:Te,ttl_param:_e,maddr_param:Ce,lr_param:Se,other_param:Ee,pname:ye,pvalue:Ae,paramchar:Re,param_unreserved:be,headers:we,header:Ie,hname:Oe,hvalue:xe,hnv_unreserved:Ne,Request_Response:function(){var e;return null===(e=at())&&(e=Pe()),e},Request_Line:Pe,Request_URI:De,absoluteURI:Ue,hier_part:ke,net_path:Me,abs_path:Le,opaque_part:qe,uric:He,uric_no_slash:Fe,path_segments:je,segment:Ge,param:Be,pchar:We,scheme:Ve,authority:ze,srvr:Je,reg_name:Ke,query:Ye,SIP_Version:$e,INVITEm:Xe,ACKm:Qe,OPTIONSm:Ze,BYEm:et,CANCELm:tt,REGISTERm:nt,SUBSCRIBEm:rt,NOTIFYm:st,REFERm:it,Method:ot,Status_Line:at,Status_Code:lt,extension_code:ut,Reason_Phrase:ct,Allow_Events:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=Ut())){for(t=[],i=kn,null!==(n=M())&&null!==(r=Ut())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=M())&&null!==(r=Ut())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},Call_ID:function(){var e,t,r,i,o,a;return i=kn,o=kn,null!==(e=I())?(a=kn,64===n.charCodeAt(kn)?(t="@",kn++):(t=null,0===Mn&&s('"@"')),null!==t&&null!==(r=I())?t=[t,r]:(t=null,kn=a),null!==(t=null!==t?t:"")?e=[e,t]:(e=null,kn=o)):(e=null,kn=o),null!==e&&(e=function(e){jn=n.substring(kn,e)}(i)),null===e&&(kn=i),e},Contact:function(){var e,t,n,r,s,i,o;if(s=kn,null===(e=O()))if(i=kn,null!==(e=dt())){for(t=[],o=kn,null!==(n=M())&&null!==(r=dt())?n=[n,r]:(n=null,kn=o);null!==n;)t.push(n),o=kn,null!==(n=M())&&null!==(r=dt())?n=[n,r]:(n=null,kn=o);null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return null!==e&&(e=function(e){var t,n;for(n=jn.multi_header.length,t=0;t<n;t++)if(null===jn.multi_header[t].parsed){jn=null;break}jn=null!==jn?jn.multi_header:-1}()),null===e&&(kn=s),e},contact_param:dt,name_addr:ht,display_name:pt,contact_params:ft,c_p_q:mt,c_p_expires:gt,delta_seconds:vt,qvalue:Tt,generic_param:_t,gen_value:Ct,Content_Disposition:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=St())){for(t=[],i=kn,null!==(n=L())&&null!==(r=Et())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=L())&&null!==(r=Et())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},disp_type:St,disp_param:Et,handling_param:yt,Content_Encoding:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=b())){for(t=[],i=kn,null!==(n=M())&&null!==(r=b())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=M())&&null!==(r=b())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},Content_Length:function(){var e,t,n;if(n=kn,null!==(t=o()))for(e=[];null!==t;)e.push(t),t=o();else e=null;return null!==e&&(e=function(e,t){jn=parseInt(t.join(""))}(0,e)),null===e&&(kn=n),e},Content_Type:function(){var e,t;return t=kn,null!==(e=At())&&(e=function(e){jn=n.substring(kn,e)}(t)),null===e&&(kn=t),e},media_type:At,m_type:Rt,discrete_type:bt,composite_type:wt,extension_token:It,x_token:Ot,m_subtype:xt,m_parameter:Nt,m_value:Pt,CSeq:function(){var e,t,n,r;return r=kn,null!==(e=Dt())&&null!==(t=_())&&null!==(n=ot())?e=[e,t,n]:(e=null,kn=r),e},CSeq_value:Dt,Expires:function(){var e,t;return t=kn,null!==(e=vt())&&(e=void(jn=e)),null===e&&(kn=t),e},Event:function(){var e,t,n,r,s,i,o;if(s=kn,i=kn,null!==(e=Ut())){for(t=[],o=kn,null!==(n=L())&&null!==(r=_t())?n=[n,r]:(n=null,kn=o);null!==n;)t.push(n),o=kn,null!==(n=L())&&null!==(r=_t())?n=[n,r]:(n=null,kn=o);null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return null!==e&&(e=function(e,t){jn.event=t.join("").toLowerCase()}(0,e[0])),null===e&&(kn=s),e},event_type:Ut,From:function(){var e,t,n,r,s,i,o;if(s=kn,i=kn,null===(e=J())&&(e=ht()),null!==e){for(t=[],o=kn,null!==(n=L())&&null!==(r=kt())?n=[n,r]:(n=null,kn=o);null!==n;)t.push(n),o=kn,null!==(n=L())&&null!==(r=kt())?n=[n,r]:(n=null,kn=o);null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return null!==e&&(e=function(e){var t=jn.tag;try{jn=new Fn(jn.uri,jn.display_name,jn.params),t&&jn.setParam("tag",t)}catch(e){jn=-1}}()),null===e&&(kn=s),e},from_param:kt,tag_param:Mt,Max_Forwards:function(){var e,t,n;if(n=kn,null!==(t=o()))for(e=[];null!==t;)e.push(t),t=o();else e=null;return null!==e&&(e=function(e,t){jn=parseInt(t.join(""))}(0,e)),null===e&&(kn=n),e},Min_Expires:function(){var e,t;return t=kn,null!==(e=vt())&&(e=void(jn=e)),null===e&&(kn=t),e},Name_Addr_Header:function(){var e,t,n,r,s,i,o,a,l,u;for(a=kn,l=kn,e=[],t=pt();null!==t;)e.push(t),t=pt();if(null!==e)if(null!==(t=k()))if(null!==(n=K()))if(null!==(r=U())){for(s=[],u=kn,null!==(i=L())&&null!==(o=_t())?i=[i,o]:(i=null,kn=u);null!==i;)s.push(i),u=kn,null!==(i=L())&&null!==(o=_t())?i=[i,o]:(i=null,kn=u);null!==s?e=[e,t,n,r,s]:(e=null,kn=l)}else e=null,kn=l;else e=null,kn=l;else e=null,kn=l;else e=null,kn=l;return null!==e&&(e=function(e){try{jn=new Fn(jn.uri,jn.display_name,jn.params)}catch(e){jn=-1}}()),null===e&&(kn=a),e},Proxy_Authenticate:function(){return Lt()}
1,challenge:Lt,other_challenge:qt,auth_param:Ht,digest_cln:Ft,realm:jt,realm_value:Gt,domain:Bt,URI:Wt,nonce:Vt,nonce_value:zt,opaque:Jt,stale:Kt,algorithm:Yt,qop_options:$t,qop_value:Xt,Proxy_Require:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=b())){for(t=[],i=kn,null!==(n=M())&&null!==(r=b())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=M())&&null!==(r=b())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},Record_Route:function(){var e,t,n,r,s,i,o;if(s=kn,i=kn,null!==(e=Qt())){for(t=[],o=kn,null!==(n=M())&&null!==(r=Qt())?n=[n,r]:(n=null,kn=o);null!==n;)t.push(n),o=kn,null!==(n=M())&&null!==(r=Qt())?n=[n,r]:(n=null,kn=o);null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return null!==e&&(e=function(e){var t,n;for(n=jn.multi_header.length,t=0;t<n;t++)if(null===jn.multi_header[t].parsed){jn=null;break}jn=null!==jn?jn.multi_header:-1}()),null===e&&(kn=s),e},rec_route:Qt,Reason:function(){var e,t,r,i,o,a,l;if(o=kn,a=kn,"sip"===n.substr(kn,3).toLowerCase()?(e=n.substr(kn,3),kn+=3):(e=null,0===Mn&&s('"SIP"')),null===e&&(e=b()),null!==e){for(t=[],l=kn,null!==(r=L())&&null!==(i=Zt())?r=[r,i]:(r=null,kn=l);null!==r;)t.push(r),l=kn,null!==(r=L())&&null!==(i=Zt())?r=[r,i]:(r=null,kn=l);null!==t?e=[e,t]:(e=null,kn=a)}else e=null,kn=a;return null!==e&&(e=function(e,t){if(jn.protocol=t.toLowerCase(),jn.params||(jn.params={}),jn.params.text&&'"'===jn.params.text[0]){var n=jn.params.text;jn.text=n.substring(1,n.length-1),delete jn.params.text}}(0,e[0])),null===e&&(kn=o),e},reason_param:Zt,reason_cause:en,Require:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=b())){for(t=[],i=kn,null!==(n=M())&&null!==(r=b())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=M())&&null!==(r=b())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},Route:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=tn())){for(t=[],i=kn,null!==(n=M())&&null!==(r=tn())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=M())&&null!==(r=tn())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},route_param:tn,Subscription_State:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=nn())){for(t=[],i=kn,null!==(n=L())&&null!==(r=rn())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=L())&&null!==(r=rn())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},substate_value:nn,subexp_params:rn,event_reason_value:sn,Subject:function(){var e;return e=E(),e=null!==e?e:""},Supported:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=b())){for(t=[],i=kn,null!==(n=M())&&null!==(r=b())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=M())&&null!==(r=b())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e=null!==e?e:""},To:function(){var e,t,n,r,s,i,o;if(s=kn,i=kn,null===(e=J())&&(e=ht()),null!==e){for(t=[],o=kn,null!==(n=L())&&null!==(r=on())?n=[n,r]:(n=null,kn=o);null!==n;)t.push(n),o=kn,null!==(n=L())&&null!==(r=on())?n=[n,r]:(n=null,kn=o);null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return null!==e&&(e=function(e){var t=jn.tag;try{jn=new Fn(jn.uri,jn.display_name,jn.params),t&&jn.setParam("tag",t)}catch(e){jn=-1}}()),null===e&&(kn=s),e},to_param:on,Via:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=an())){for(t=[],i=kn,null!==(n=M())&&null!==(r=an())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=M())&&null!==(r=an())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},via_param:an,via_params:ln,via_ttl:un,via_maddr:cn,via_received:dn,via_branch:hn,response_port:pn,sent_protocol:fn,protocol_name:mn,transport:gn,sent_by:vn,via_host:Tn,via_port:_n,ttl:Cn,WWW_Authenticate:function(){return Lt()},Session_Expires:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=Sn())){for(t=[],i=kn,null!==(n=L())&&null!==(r=En())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=L())&&null!==(r=En())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},s_e_expires:Sn,s_e_params:En,s_e_refresher:yn,extension_header:function(){var e,t,n,r;return r=kn,null!==(e=b())&&null!==(t=S())&&null!==(n=An())?e=[e,t,n]:(e=null,kn=r),e},header_value:An,message_body:function(){var e,t;for(e=[],t=c();null!==t;)e.push(t),t=c();return e},uuid_URI:function(){var e,t,r;return r=kn,"uuid:"===n.substr(kn,5)?(e="uuid:",kn+=5):(e=null,0===Mn&&s('"uuid:"')),null!==e&&null!==(t=Rn())?e=[e,t]:(e=null,kn=r),e},uuid:Rn,hex4:bn,hex8:wn,hex12:In,Refer_To:function(){var e,t,n,r,s,i,o;if(s=kn,i=kn,null===(e=J())&&(e=ht()),null!==e){for(t=[],o=kn,null!==(n=L())&&null!==(r=_t())?n=[n,r]:(n=null,kn=o);null!==n;)t.push(n),o=kn,null!==(n=L())&&null!==(r=_t())?n=[n,r]:(n=null,kn=o);null!==t?e=[e,t]:(e=null,kn=i)}else e=null,kn=i;return null!==e&&(e=function(e){try{jn=new Fn(jn.uri,jn.display_name,jn.params)}catch(e){jn=-1}}()),null===e&&(kn=s),e},Replaces:function(){var e,t,n,r,s,i;if(s=kn,null!==(e=On())){for(t=[],i=kn,null!==(n=L())&&null!==(r=xn())?n=[n,r]:(n=null,kn=i);null!==n;)t.push(n),i=kn,null!==(n=L())&&null!==(r=xn())?n=[n,r]:(n=null,kn=i);null!==t?e=[e,t]:(e=null,kn=s)}else e=null,kn=s;return e},call_id:On,replaces_param:xn,to_tag:Nn,from_tag:Pn,early_flag:Dn};if(void 0!==r){if(void 0===Un[r])throw new Error("Invalid rule name: "+t(r)+".")}else r="CRLF";var kn=0,Mn=0,Ln=0,qn=[],Hn=e("./URI"),Fn=e("./NameAddrHeader"),jn={};if(null===Un[r]()||kn!==n.length){var Gn=Math.max(kn,Ln),Bn=Gn<n.length?n.charAt(Gn):null,Wn=function(){for(var e=1,t=1,r=!1,s=0;s<Math.max(kn,Ln);s++){var i=n.charAt(s);"\n"===i?(r||e++,t=1,r=!1):"\r"===i||"\u2028"===i||"\u2029"===i?(e++,t=1,r=!0):(t++,r=!1)}return{line:e,column:t}}();return new this.SyntaxError(function(e){e.sort();for(var t=null,n=[],r=0;r<e.length;r++)e[r]!==t&&(n.push(e[r]),t=e[r]);return n}(qn),Bn,Gn,Wn.line,Wn.column),-1}return jn},toSource:function(){return this._source}};return n.SyntaxError=function(e,n,r,s,i){this.name="SyntaxError",this.expected=e,this.found=n,this.message=function(e,n){var r,s;switch(e.length){case 0:r="end of input";break;case 1:r=e[0];break;default:r=e.slice(0,e.length-1).join(", ")+" or "+e[e.length-1]}return s=n?t(n):"end of input","Expected "+r+" but "+s+" found."}(e,n),this.offset=r,this.line=s,this.column=i},n.SyntaxError.prototype=Error.prototype,n}()},{"./NameAddrHeader":9,"./URI":25}],7:[function(e,t,n){var r=e("debug")("JsSIP"),s=e("webrtc-adapter"),i=e("../package.json");r("version %s",i.version);var o=e("./Constants"),a=e("./Exceptions"),l=e("./Utils"),u=e("./UA"),c=e("./URI"),d=e("./NameAddrHeader"),h=e("./Grammar"),p=e("./WebSocketInterface"),f=t.exports={C:o,Exceptions:a,Utils:l,UA:u,URI:c,NameAddrHeader:d,WebSocketInterface:p,Grammar:h,debug:e("debug"),adapter:s};Object.defineProperties(f,{name:{get:function(){return i.title}},version:{get:function(){return i.version}}})},{"../package.json":52,"./Constants":1,"./Exceptions":5,"./Grammar":6,"./NameAddrHeader":9,"./UA":24,"./URI":25,"./Utils":26,"./WebSocketInterface":27,debug:29,"webrtc-adapter":42}],8:[function(e,t,n){function r(e){this.ua=e,this.data={},i.EventEmitter.call(this)}t.exports=r;var s=e("util"),i=e("events"),o=e("./Constants"),a=e("./SIPMessage"),l=e("./Utils"),u=e("./RequestSender"),c=e("./Transactions"),d=e("./Exceptions");s.inherits(r,i.EventEmitter),r.prototype.send=function(e,t,n){var r,s,i,l,c,d=e;if(void 0===e||void 0===t)throw new TypeError("Not enough arguments");if(!(e=this.ua.normalizeTarget(e)))throw new TypeError("Invalid target: "+d);c=(n=n||{}).extraHeaders&&n.extraHeaders.slice()||[],l=n.eventHandlers||{},i=n.contentType||"text/plain",this.content_type=i;for(s in l)this.on(s,l[s]);this.closed=!1,this.ua.applicants[this]=this,c.push("Content-Type: "+i),this.request=new a.OutgoingRequest(o.MESSAGE,e,this.ua,null,c),t?(this.request.body=t,this.content=t):this.content=null,r=new u(this,this.ua),this.newMessage("local",this.request),r.send()},r.prototype.receiveResponse=function(e){var t;if(!this.closed)switch(!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}$/.test(e.status_code):delete this.ua.applicants[this],this.emit
1("succeeded",{originator:"remote",response:e});break;default:delete this.ua.applicants[this],t=l.sipErrorCause(e.status_code),this.emit("failed",{originator:"remote",response:e,cause:t})}},r.prototype.onRequestTimeout=function(){this.closed||this.emit("failed",{originator:"system",cause:o.causes.REQUEST_TIMEOUT})},r.prototype.onTransportError=function(){this.closed||this.emit("failed",{originator:"system",cause:o.causes.CONNECTION_ERROR})},r.prototype.close=function(){this.closed=!0,delete this.ua.applicants[this]},r.prototype.init_incoming=function(e){var t;this.request=e,this.content_type=e.getHeader("Content-Type"),e.body?this.content=e.body:this.content=null,this.newMessage("remote",e),!(t=this.ua.transactions.nist[e.via_branch])||t.state!==c.C.STATUS_TRYING&&t.state!==c.C.STATUS_PROCEEDING||e.reply(200)},r.prototype.accept=function(e){var t=(e=e||{}).extraHeaders&&e.extraHeaders.slice()||[],n=e.body;if("incoming"!==this.direction)throw new d.NotSupportedError('"accept" not supported for outgoing Message');this.request.reply(200,null,t,n)},r.prototype.reject=function(e){var t=(e=e||{}).status_code||480,n=e.reason_phrase,r=e.extraHeaders&&e.extraHeaders.slice()||[],s=e.body;if("incoming"!==this.direction)throw new d.NotSupportedError('"reject" not supported for outgoing Message');if(t<300||t>=700)throw new TypeError("Invalid status_code: "+t);this.request.reply(t,n,r,s)},r.prototype.newMessage=function(e,t){"remote"===e?(this.direction="incoming",this.local_identity=t.to,this.remote_identity=t.from):"local"===e&&(this.direction="outgoing",this.local_identity=t.from,this.remote_identity=t.to),this.ua.newMessage({originator:e,message:this,request:t})}},{"./Constants":1,"./Exceptions":5,"./RequestSender":18,"./SIPMessage":19,"./Transactions":22,"./Utils":26,events:31,util:41}],9:[function(e,t,n){function r(e,t,n){var r;if(!(e&&e instanceof s))throw new TypeError('missing or invalid "uri" parameter');this.uri=e,this.parameters={};for(r in n)this.setParam(r,n[r]);Object.defineProperties(this,{display_name:{get:function(){return t},set:function(e){t=0===e?"0":e}}})}t.exports=r;var s=e("./URI"),i=e("./Grammar");r.prototype={setParam:function(e,t){e&&(this.parameters[e.toLowerCase()]=void 0===t||null===t?null:t.toString())},getParam:function(e){if(e)return this.parameters[e.toLowerCase()]},hasParam:function(e){if(e)return this.parameters.hasOwnProperty(e.toLowerCase())&&!0||!1},deleteParam:function(e){var t;if(e=e.toLowerCase(),this.parameters.hasOwnProperty(e))return t=this.parameters[e],delete this.parameters[e],t},clearParams:function(){this.parameters={}},clone:function(){return new r(this.uri.clone(),this.display_name,JSON.parse(JSON.stringify(this.parameters)))},toString:function(){var e,t;e=this.display_name||0===this.display_name?'"'+this.display_name+'" ':"",e+="<"+this.uri.toString()+">";for(t in this.parameters)e+=";"+t,null!==this.parameters[t]&&(e+="="+this.parameters[t]);return e}},r.parse=function(e){return-1!==(e=i.parse(e,"Name_Addr_Header"))?e:void 0}},{"./Grammar":6,"./URI":25}],10:[function(e,t,n){function r(e,t){var n=t,r=0,s=0;if(e.substring(n,n+2).match(/(^\r\n)/))return-2;for(;0===r;){if(-1===(s=e.indexOf("\r\n",n)))return s;!e.substring(s+2,s+4).match(/(^\r\n)/)&&e.charAt(s+2).match(/(^\s+)/)?n=s+2:r=s}return r}function s(e,t,n,r){var s,i,o,u,c=t.indexOf(":",n),d=t.substring(n,c).trim(),h=t.substring(c+1,r).trim();switch(d.toLowerCase()){case"via":case"v":e.addHeader("via",h),1===e.getHeaders("via").length?(u=e.parseHeader("Via"))&&(e.via=u,e.via_branch=u.branch):u=0;break;case"from":case"f":e.setHeader("from",h),(u=e.parseHeader("from"))&&(e.from=u,e.from_tag=u.getParam("tag"));break;case"to":case"t":e.setHeader("to",h),(u=e.parseHeader("to"))&&(e.to=u,e.to_tag=u.getParam("tag"));break;case"record-route":if(-1===(u=a.parse(h,"Record_Route")))u=void 0;else for(o=u.length,i=0;i<o;i++)s=u[i],e.addHeader("record-route",h.substring(s.possition,s.offset)),e.headers["Record-Route"][e.getHeaders("record-route").length-1].parsed=s.parsed;break;case"call-id":case"i":e.setHeader("call-id",h),(u=e.parseHeader("call-id"))&&(e.call_id=h);break;case"contact":case"m":if(-1===(u=a.parse(h,"Contact")))u=void 0;else for(o=u.length,i=0;i<o;
1i++)s=u[i],e.addHeader("contact",h.substring(s.possition,s.offset)),e.headers.Contact[e.getHeaders("contact").length-1].parsed=s.parsed;break;case"content-length":case"l":e.setHeader("content-length",h),u=e.parseHeader("content-length");break;case"content-type":case"c":e.setHeader("content-type",h),u=e.parseHeader("content-type");break;case"cseq":e.setHeader("cseq",h),(u=e.parseHeader("cseq"))&&(e.cseq=u.value),e instanceof l.IncomingResponse&&(e.method=u.method);break;case"max-forwards":e.setHeader("max-forwards",h),u=e.parseHeader("max-forwards");break;case"www-authenticate":e.setHeader("www-authenticate",h),u=e.parseHeader("www-authenticate");break;case"proxy-authenticate":e.setHeader("proxy-authenticate",h),u=e.parseHeader("proxy-authenticate");break;case"session-expires":case"x":e.setHeader("session-expires",h),(u=e.parseHeader("session-expires"))&&(e.session_expires=u.expires,e.session_expires_refresher=u.refresher);break;case"refer-to":case"r":e.setHeader("refer-to",h),(u=e.parseHeader("refer-to"))&&(e.refer_to=u);break;case"replaces":e.setHeader("replaces",h),(u=e.parseHeader("replaces"))&&(e.replaces=u);break;case"event":case"o":e.setHeader("event",h),(u=e.parseHeader("event"))&&(e.event=u);break;default:e.setHeader(d,h),u=0}return void 0!==u||{error:'error parsing header "'+d+'"'}}var i={};t.exports=i;var o=e("debug")("JsSIP:ERROR:Parser");o.log=console.warn.bind(console);var a=e("./Grammar"),l=e("./SIPMessage");i.parseMessage=function(e,t){var n,i,u,c,d,h=0,p=e.indexOf("\r\n");if(-1!==p){if(i=e.substring(0,p),-1!==(d=a.parse(i,"Request_Response"))){for(d.status_code?((n=new l.IncomingResponse).status_code=d.status_code,n.reason_phrase=d.reason_phrase):((n=new l.IncomingRequest(t)).method=d.method,n.ruri=d.uri),n.data=e,h=p+2;;){if(-2===(p=r(e,h))){c=h+2;break}if(-1===p)return void o("parseMessage() | malformed message");if(!0!==(d=s(n,e,h,p)))return void o("parseMessage() |",d.error);h=p+2}return n.hasHeader("content-length")?(u=n.getHeader("content-length"),n.body=e.substr(c,u)):n.body=e.substring(c),n}o('parseMessage() | error parsing first line of SIP message: "'+i+'"')}else o("parseMessage() | no CRLF found, not a SIP message")}},{"./Grammar":6,"./SIPMessage":19,debug:29}],11:[function(e,t,n){function r(e){j("new"),this.ua=e,this.status=q.STATUS_NULL,this.dialog=null,this.earlyDialogs={},this.connection=null,this.is_confirmed=!1,this.late_sdp=!1,this.rtcOfferConstraints=null,this.rtcAnswerConstraints=null,this.localMediaStream=null,this.localMediaStreamLocallyGenerated=!1,this.rtcReady=!0,this.timers={ackTimer:null,expiresTimer:null,invite2xxTimer:null,userNoAnswerTimer:null},this.direction=null,this.local_identity=null,this.remote_identity=null,this.start_time=null,this.end_time=null,this.tones=null,this.audioMuted=!1,this.videoMuted=!1,this.localHold=!1,this.remoteHold=!1,this.sessionTimers={enabled:this.ua.configuration.session_timers,defaultExpires:W.SESSION_EXPIRES,currentExpires:null,running:!1,refresher:!1,timer:null},this.referSubscribers={},this.data={},this.causes=W.causes,F.EventEmitter.call(this)}function s(e,t){var n=this,r=K.T1;this.timers.invite2xxTimer=setTimeout(function s(){n.status===q.STATUS_WAITING_FOR_ACK&&(e.reply(200,null,["Contact: "+n.contact],t),r<K.T2&&(r*=2)>K.T2&&(r=K.T2),n.timers.invite2xxTimer=setTimeout(s,r))},r)}function i(){var e=this;this.timers.ackTimer=setTimeout(function(){e.status===q.STATUS_WAITING_FOR_ACK&&(j("no ACK received, terminating the session"),clearTimeout(e.timers.invite2xxTimer),_.call(e,W.BYE),P.call(e,"remote",null,W.causes.NO_ACK))},K.TIMER_H)}function o(e,t){var n=this;this.connection=new RTCPeerConnection(e,t),this.connection.addEventListener("iceconnectionstatechange",function(){"failed"===n.connection.iceConnectionState&&n.terminate({cause:W.causes.RTP_TIMEOUT,status_code:408,reason_phrase:W.causes.RTP_TIMEOUT})})}function a(e,t,n,r){function s(r){var s;o.addEventListener("icecandidate",s=function(n){if(!n.candidate){if(o.removeEventListener("icecandidate",s),i.rtcReady=!0,t){var r={originator:"local",type:e,sdp:o.localDescription.sdp};j('emit "sdp"'),i.emit("sdp",r),t(r.sdp)}t=null}}),o.setLocalDescription(r).then(function(){if("complete"===o.iceGatheringState&&(i.rtcReady=!0,t)){var n={originator:"local",type:e,sdp:o.localDescription.sdp};j('emit "sdp"'),i.emit("sdp",n),t(n.sdp),t=null}}).catch(function(e){i.rtcReady=!0,n&&n(e),G('emit "peerconnection:setlocaldescriptionfailed" [error:%o]',e),i.emit("peerconnection:setlocaldescriptionfailed",e)})}j("createLocalDescription()");var i=this,o=this.connection;if(this.rtcReady=!1,"offer"===e)o.createOffer(r).then(s).catch(function(e){i.rtcReady=!0,n&&n(e),G('emit "peerconnection:createofferfailed" [error:%o]',e),i.emit("peerconnection:createofferfailed",e)});else{if("answer"!==e)throw new Error('createLocalDescription() | type must be "offer" or "answer", but "'+e+'" was given');o.createAnswer(r).then(s).catch(function(e){i.rtcReady=!0,n&&n(e),G('emit "peerconnection:createanswerfailed" [error:%o]',e),i.emit("peerconnection:createanswerfailed",e)})}}function l(e,t,n){var r,s,i="UAS"===t?e.to_tag:e.from_tag,o="UAS"===t?e.from_tag:e.to_tag,a=e.call_id+i+o;return s=this.earlyDialogs[a],n?!!s||((s=new $(this,e,t,$.C.STATUS_EARLY)).error?(j(s.error),D.call(this,"remote",e,W.causes.INTERNAL_ERROR),!1):(this.earlyDialogs[a]=s,!0)):(this.from_tag=e.from_tag,this.to_tag=e.to_tag,s?(s.update(e,t),this.dialog=s,delete this.earlyDialogs[a],!0):(r=new $(this,e,t)).error?(j(r.error),D.call(this,"remote",e,W.causes.INTERNAL_ERROR),!1):(this.dialog=r,!0))}function u(e){function t(){n(function(t){var n=["Contact: "+c.contact];E.call(c,e,n),c.late_sdp&&(t=C.call(c,t)),e.reply(200,null,n,t,function(){c.status=q.STATUS_WAITING_FOR_ACK,s.call(c,e,t),i.call(c)}),"function"==typeof f.callback&&f.callback()},function(){e.reply(500)})}
1function n(e,t){c.late_sdp?a.call(c,"offer",e,t,c.rtcOfferConstraints):(!0===c.remoteHold&&!1===h?(c.remoteHold=!1,k.call(c,"remote")):!1===c.remoteHold&&!0===h&&(c.remoteHold=!0,U.call(c,"remote")),a.call(c,"answer",e,t,c.rtcAnswerConstraints))}j("receiveReinvite()");var r,o,l,u,c=this,d=e.getHeader("Content-Type"),h=!1,p=!1,f={request:e,callback:void 0,reject:function(t){p=!0;var n=(t=t||{}).status_code||403,r=t.reason_phrase||"",s=t.extraHeaders&&t.extraHeaders.slice()||[];if(this.status!==q.STATUS_CONFIRMED)return!1;if(n<300||n>=700)throw new TypeError("Invalid status_code: "+n);e.reply(n,r,s)}.bind(this)};if(this.emit("reinvite",f),!p)if(e.body){if(this.late_sdp=!1,"application/sdp"!==d)return j("invalid Content-Type"),void e.reply(415);for(r=e.parseSDP(),o=0;o<r.media.length;o++)if(u=r.media[o],-1!==re.indexOf(u.type)){if("sendonly"!==(l=u.direction||r.direction||"sendrecv")&&"inactive"!==l){h=!1;break}h=!0}var m={originator:"remote",type:"offer",sdp:e.body},g=new RTCSessionDescription({type:"offer",sdp:m.sdp});this.emit("sdp",m),this.connection.setRemoteDescription(g).then(t).catch(function(t){e.reply(488),G('emit "peerconnection:setremotedescriptionfailed" [error:%o]',t),c.emit("peerconnection:setremotedescriptionfailed",t)})}else this.late_sdp=!0,t()}function c(e){j("receiveUpdate()");var t,n,r,s,i=this,o=e.getHeader("Content-Type"),l=!1,u=!1,c={request:e,callback:void 0,reject:function(t){l=!0;var n=(t=t||{}).status_code||403,r=t.reason_phrase||"",s=t.extraHeaders&&t.extraHeaders.slice()||[];if(this.status!==q.STATUS_CONFIRMED)return!1;if(n<300||n>=700)throw new TypeError("Invalid status_code: "+n);e.reply(n,r,s)}.bind(this)};if(this.emit("update",c),!l){if(!e.body){var d=[];return E.call(this,e,d),void e.reply(200,null,d)}if("application/sdp"!==o)return j("invalid Content-Type"),void e.reply(415);for(t=e.parseSDP(),n=0;n<t.media.length;n++)if(s=t.media[n],-1!==re.indexOf(s.type)){if("sendonly"!==(r=s.direction||t.direction||"sendrecv")&&"inactive"!==r){u=!1;break}u=!0}var h={originator:"remote",type:"offer",sdp:e.body};j('emit "sdp"'),this.emit("sdp",h);var p=new RTCSessionDescription({type:"offer",sdp:h.sdp});this.connection.setRemoteDescription(p).then(function(){!0===i.remoteHold&&!1===u?(i.remoteHold=!1,k.call(i,"remote")):!1===i.remoteHold&&!0===u&&(i.remoteHold=!0,U.call(i,"remote")),a.call(i,"answer",function(t){var n=["Contact: "+i.contact];E.call(i,e,n),e.reply(200,null,n,t),"function"==typeof c.callback&&c.callback()},function(){e.reply(500)})}).catch(function(t){e.reply(488),G('emit "peerconnection:setremotedescriptionfailed" [error:%o]',t),i.emit("peerconnection:setremotedescriptionfailed",t)})}}function d(e){function t(t,n){var i,o;if(n=n||{},t="function"==typeof t?t:null,this.status!==q.STATUS_WAITING_FOR_ACK&&this.status!==q.STATUS_CONFIRMED)return!1;(i=new r(this.ua)).on("progress",function(e){s.notify(e.response.status_code,e.response.reason_phrase)}),i.on("accepted",function(e){s.notify(e.response.status_code,e.response.reason_phrase)}),i.on("failed",function(e){e.message?s.notify(e.message.status_code,e.message.reason_phrase):s.notify(487,e.cause)}),e.refer_to.uri.hasHeader("replaces")&&(o=decodeURIComponent(e.refer_to.uri.getHeader("replaces")),n.extraHeaders=n.extraHeaders||[],n.extraHeaders.push("Replaces: "+o)),i.connect(e.refer_to.uri.toAor(),n,t)}function n(){s.notify(603)}j("receiveRefer()");var s,i=this;return void 0===typeof e.refer_to?(j("no Refer-To header field present in REFER"),void e.reply(400)):e.refer_to.uri.scheme!==W.SIP?(j("Refer-To header field points to a non-SIP URI scheme"),void e.reply(416)):(e.reply(202),s=new te(this,e.cseq),j('emit "refer"'),void this.emit("refer",{request:e,accept:function(e,n){t.call(i,e,n)},reject:function(){n.call(i)}}))}function h(e){switch(j("receiveNotify()"),void 0===typeof e.event&&e.reply(400),e.event.event){case"refer":var t=e.event.params.id,n=this.referSubscribers[t];if(!n)return void e.reply(481,"Subscription does not exist");n.receiveNotify(e),e.reply(200);break;default:e.reply(489)}}function p(e){function t(t){var n;if(this.status!==q.STATUS_WAITING_FOR_ACK&&this.status!==q.STATUS_CONFIRMED)return!1;(n=new r(this.ua)).on("confirmed",function(){s.terminate()}),n.init_incoming(e,t)}function n(){j("Replaced INVITE rejected by the user"),e.reply(486)}j("receiveReplaces()");var s=this;
1this.emit("replaces",{request:e,accept:function(e){t.call(s,e)},reject:function(){n.call(s)}})}function f(e,t,n){function r(e){l.status!==q.STATUS_TERMINATED&&(l.localMediaStream=e,e&&l.connection.addStream(e),j('emit "peerconnection"'),l.emit("peerconnection",{peerconnection:l.connection}),I.call(l,l.request),a.call(l,"offer",i,o,t))}function s(){l.status!==q.STATUS_TERMINATED&&D.call(l,"local",null,W.causes.USER_DENIED_MEDIA_ACCESS)}function i(e){l.isCanceled||l.status===q.STATUS_TERMINATED||(l.request.body=e,l.status=q.STATUS_INVITE_SENT,j('emit "sending" [request:%o]',l.request),l.emit("sending",{request:l.request}),u.send())}function o(){l.status!==q.STATUS_TERMINATED&&D.call(l,"system",null,W.causes.WEBRTC_ERROR)}var l=this,u=new X(l,this.ua);this.receiveResponse=function(e){m.call(l,e)},n?setTimeout(function(){r(n)}):e.audio||e.video?(this.localMediaStreamLocallyGenerated=!0,navigator.mediaDevices.getUserMedia(e).then(r).catch(function(e){s(),G('emit "getusermediafailed" [error:%o]',e),l.emit("getusermediafailed",e)})):r(null)}function m(e){j("receiveInviteResponse()");var t,n,r,s,i=this;if(this.dialog&&e.status_code>=200&&e.status_code<=299)return this.dialog.id.call_id===e.call_id&&this.dialog.id.local_tag===e.from_tag&&this.dialog.id.remote_tag===e.to_tag?void _.call(this,W.ACK):void 0!==(n=new $(this,e,"UAC")).error?void j(n.error):(n.sendRequest({owner:{status:q.STATUS_TERMINATED},onRequestTimeout:function(){},onTransportError:function(){},onDialogError:function(){},receiveResponse:function(){}},W.ACK),void n.sendRequest({owner:{status:q.STATUS_TERMINATED},onRequestTimeout:function(){},onTransportError:function(){},onDialogError:function(){},receiveResponse:function(){}},W.BYE));if(this.isCanceled)return this.isCanceled=!1,void(e.status_code>=100&&e.status_code<200?this.request.cancel(this.cancelReason):e.status_code>=200&&e.status_code<299&&T.call(this,e));if(this.status===q.STATUS_INVITE_SENT||this.status===q.STATUS_1XX_RECEIVED)switch(!0){case/^100$/.test(e.status_code):this.status=q.STATUS_1XX_RECEIVED;break;case/^1[0-9]{2}$/.test(e.status_code):if(!e.to_tag){j("1xx response received without to tag");break}if(e.hasHeader("contact")&&!l.call(this,e,"UAC",!0))break;if(this.status=q.STATUS_1XX_RECEIVED,O.call(this,"remote",e),!e.body)break;r={originator:"remote",type:"answer",sdp:e.body},j('emit "sdp"'),this.emit("sdp",r),s=new RTCSessionDescription({type:"answer",sdp:r.sdp}),this.connection.setRemoteDescription(s).catch(function(e){G('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),i.emit("peerconnection:setremotedescriptionfailed",e)});break;case/^2[0-9]{2}$/.test(e.status_code):if(this.status=q.STATUS_CONFIRMED,!e.body){T.call(this,e,400,W.causes.MISSING_SDP),D.call(this,"remote",e,W.causes.BAD_MEDIA_DESCRIPTION);break}if(!l.call(this,e,"UAC"))break;r={originator:"remote",type:"answer",sdp:e.body},j('emit "sdp"'),this.emit("sdp",r),s=new RTCSessionDescription({type:"answer",sdp:r.sdp}),Promise.resolve().then(function(){if("stable"===i.connection.signalingState)return i.connection.createOffer().then(function(e){return i.connection.setLocalDescription(e)}).catch(function(t){T.call(i,e,500,t.toString()),D.call(i,"local",e,W.causes.WEBRTC_ERROR),G('emit "peerconnection:setlocaldescriptionfailed" [error:%o]',t),i.emit("peerconnection:setlocaldescriptionfailed",t)})}).then(function(){i.connection.setRemoteDescription(s).then(function(){y.call(i,e),x.call(i,"remote",e),_.call(i,W.ACK),N.call(i,"local",null)}
1).catch(function(t){T.call(i,e,488,"Not Acceptable Here"),D.call(i,"remote",e,W.causes.BAD_MEDIA_DESCRIPTION),G('emit "peerconnection:setremotedescriptionfailed" [error:%o]',t),i.emit("peerconnection:setremotedescriptionfailed",t)})});break;default:t=J.sipErrorCause(e.status_code),D.call(this,"remote",e,t)}}function g(e){function t(e){if(r.status!==q.STATUS_TERMINATED&&(_.call(r,W.ACK),!l))if(y.call(r,e),e.body)if("application/sdp"===e.getHeader("Content-Type")){var t={originator:"remote",type:"answer",sdp:e.body};j('emit "sdp"'),r.emit("sdp",t);var s=new RTCSessionDescription({type:"answer",sdp:t.sdp});r.connection.setRemoteDescription(s).then(function(){i.succeeded&&i.succeeded(e)}).catch(function(e){n(),G('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),r.emit("peerconnection:setremotedescriptionfailed",e)})}else n();else n()}function n(e){i.failed&&i.failed(e)}j("sendReinvite()");var r=this,s=(e=e||{}).extraHeaders||[],i=e.eventHandlers||{},o=e.rtcOfferConstraints||this.rtcOfferConstraints||null,l=!1;s.push("Contact: "+this.contact),s.push("Content-Type: application/sdp"),this.sessionTimers.running&&s.push("Session-Expires: "+this.sessionTimers.currentExpires+";refresher="+(this.sessionTimers.refresher?"uac":"uas")),a.call(this,"offer",function(e){e=C.call(r,e),new Q(r,W.INVITE).send({extraHeaders:s,body:e,eventHandlers:{onSuccessResponse:function(e){t(e),l=!0},onErrorResponse:function(e){n(e)},onTransportError:function(){r.onTransportError()},onRequestTimeout:function(){r.onRequestTimeout()},onDialogError:function(){r.onDialogError()}}})},function(){n()},o)}function v(e){function t(e){if(r.status!==q.STATUS_TERMINATED&&!u)if(y.call(r,e),l){if(!e.body)return void n();if("application/sdp"!==e.getHeader("Content-Type"))return void n();var t={originator:"remote",type:"answer",sdp:e.body};j('emit "sdp"'),r.emit("sdp",t);var s=new RTCSessionDescription({type:"answer",sdp:t.sdp});r.connection.setRemoteDescription(s).then(function(){i.succeeded&&i.succeeded(e)}).catch(function(e){n(),G('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),r.emit("peerconnection:setremotedescriptionfailed",e)})}else i.succeeded&&i.succeeded(e)}function n(e){i.failed&&i.failed(e)}j("sendUpdate()");var r=this,s=(e=e||{}).extraHeaders||[],i=e.eventHandlers||{},o=e.rtcOfferConstraints||this.rtcOfferConstraints||null,l=e.sdpOffer||!1,u=!1;s.push("Contact: "+this.contact),this.sessionTimers.running&&s.push("Session-Expires: "+this.sessionTimers.currentExpires+";refresher="+(this.sessionTimers.refresher?"uac":"uas")),l?(s.push("Content-Type: application/sdp"),a.call(this,"offer",function(e){e=C.call(r,e),new Q(r,W.UPDATE).send({extraHeaders:s,body:e,eventHandlers:{onSuccessResponse:function(e){t(e),u=!0},onErrorResponse:function(e){n(e)},onTransportError:function(){r.onTransportError()},onRequestTimeout:function(){r.onRequestTimeout()},onDialogError:function(){r.onDialogError()}}})},function(){n()},o)):new Q(r,W.UPDATE).send({extraHeaders:s,eventHandlers:{onSuccessResponse:function(e){t(e)},onErrorResponse:function(e){n(e)},onTransportError:function(){r.onTransportError()},onRequestTimeout:function(){r.onRequestTimeout()},onDialogError:function(){r.onDialogError()}}})}function T(e,t,n){j("acceptAndTerminate()");var r=[];t&&(n=n||W.REASON_PHRASE[t]||"",r.push("Reason: SIP ;cause="+t+'; text="'+n+'"')),(this.dialog||l.call(this,e,"UAC"))&&(_.call(this,W.ACK),_.call(this,W.BYE,{extraHeaders:r})),this.status=q.STATUS_TERMINATED}function _(e,t){j("sendRequest()"),new Q(this,e).send(t)}function C(e){var t,n,r;if(!this.localHold&&!this.remoteHold)return e;if(e=B.parse(e),this.localHold&&!this.remoteHold)for(j("mangleOffer() | me on hold, mangling offer"),n=e.media.length,t=0;t<n;t++)r=e.media[t],-1!==re.indexOf(r.type)&&(r.direction?"sendrecv"===r.direction?r.direction="sendonly":"recvonly"===r.direction&&(r.direction="inactive"):r.direction="sendonly");else if(this.localHold&&this.remoteHold)for(j("mangleOffer() | both on hold, mangling offer"),n=e.media.length,t=0;t<n;t++)r=e.media[t],-1!==re.indexOf(r.type)&&(r.direction="inactive");else if(this.remoteHold)for(j("mangleOffer() | remote on hold, mangling offer"),n=e.media.length,t=0;t<n;t++)r=e.media[t],-1!==re.indexOf(r.type)&&(r.direction?"sendrecv"===r.direction?r.direction="recvonly":"recvonly"===r.direction&&(r.direction="inactive"):r.direction="recvonly");return B.write(e)}function S(){var e=!0,t=!0;(this.localHold||this.remoteHold)&&(e=!1,t=!1),this.audioMuted&&(e=!1),this.videoMuted&&(t=!1),R.call(this,!e),b.call(this,!t)}function E(e,t){if(this.sessionTimers.enabled){var n;e.session_expires&&e.session_expires>=W.MIN_SESSION_EXPIRES?(this.sessionTimers.currentExpires=e.session_expires,n=e.session_expires_refresher||"uas"):(this.sessionTimers.currentExpires=this.sessionTimers.defaultExpires,n="uas"),t.push("Session-Expires: "+this.sessionTimers.currentExpires+";refresher="+n),this.sessionTimers.refresher="uas"===n,A.call(this)}}function y(e){if(this.sessionTimers.enabled){var t;e.session_expires&&e.session_expires>=W.MIN_SESSION_EXPIRES?(this.sessionTimers.currentExpires=e.session_expires,t=e.session_expires_refresher||"uac"):(this.sessionTimers.currentExpires=this.sessionTimers.defaultExpires,t="uac"),this.sessionTimers.refresher="uac"===t,A.call(this)}}function A(){var e=this,t=this.sessionTimers.currentExpires;this.sessionTimers.running=!0,clearTimeout(this.sessionTimers.timer),this.sessionTimers.refresher?this.sessionTimers.timer=setTimeout(function(){e.status!==q.STATUS_TERMINATED&&(j("runSessionTimer() | sending session refresh request"),v.call(e,{eventHandlers:{succeeded:function(t){y.call(e,t)}}}))},500*t):this.sessionTimers.timer=setTimeout(function(){e.status!==q.STATUS_TERMINATED&&(G("runSessionTimer() | timer expired, terminating the session"),e.terminate({cause:W.causes.REQUEST_TIMEOUT,status_code:408,reason_phrase:"Session Timer Expired"}))},1100*t)}
1function R(e){var t,n,r,s,i,o=this.connection.getLocalStreams();for(r=o.length,t=0;t<r;t++)for(s=(i=o[t].getAudioTracks()).length,n=0;n<s;n++)i[n].enabled=!e}function b(e){var t,n,r,s,i,o=this.connection.getLocalStreams();for(r=o.length,t=0;t<r;t++)for(s=(i=o[t].getVideoTracks()).length,n=0;n<s;n++)i[n].enabled=!e}function w(e,t){j("newRTCSession()"),this.ua.newRTCSession({originator:e,session:this,request:t})}function I(e){j("session connecting"),j('emit "connecting"'),this.emit("connecting",{request:e})}function O(e,t){j("session progress"),j('emit "progress"'),this.emit("progress",{originator:e,response:t||null})}function x(e,t){j("session accepted"),this.start_time=new Date,j('emit "accepted"'),this.emit("accepted",{originator:e,response:t||null})}function N(e,t){j("session confirmed"),this.is_confirmed=!0,j('emit "confirmed"'),this.emit("confirmed",{originator:e,ack:t||null})}function P(e,t,n){j("session ended"),this.end_time=new Date,this.close(),j('emit "ended"'),this.emit("ended",{originator:e,message:t||null,cause:n})}function D(e,t,n){j("session failed"),this.close(),j('emit "failed"'),this.emit("failed",{originator:e,message:t||null,cause:n})}function U(e){j("session onhold"),S.call(this),j('emit "hold"'),this.emit("hold",{originator:e})}function k(e){j("session onunhold"),S.call(this),j('emit "unhold"'),this.emit("unhold",{originator:e})}function M(e){j("session onmute"),S.call(this),j('emit "muted"'),this.emit("muted",{audio:e.audio,video:e.video})}function L(e){j("session onunmute"),S.call(this),j('emit "unmuted"'),this.emit("unmuted",{audio:e.audio,video:e.video})}t.exports=r;var q={STATUS_NULL:0,STATUS_INVITE_SENT:1,STATUS_1XX_RECEIVED:2,STATUS_INVITE_RECEIVED:3,STATUS_WAITING_FOR_ANSWER:4,STATUS_ANSWERED:5,STATUS_WAITING_FOR_ACK:6,STATUS_CANCELED:7,STATUS_TERMINATED:8,STATUS_CONFIRMED:9};r.C=q;var H=e("util"),F=e("events"),j=e("debug")("JsSIP:RTCSession"),G=e("debug")("JsSIP:ERROR:RTCSession");G.log=console.warn.bind(console);var B=e("sdp-transform"),W=e("./Constants"),V=e("./Exceptions"),z=e("./Transactions"),J=e("./Utils"),K=e("./Timers"),Y=e("./SIPMessage"),$=e("./Dialog"),X=e("./RequestSender"),Q=e("./RTCSession/Request"),Z=e("./RTCSession/DTMF"),ee=e("./RTCSession/Info"),te=e("./RTCSession/ReferNotifier"),ne=e("./RTCSession/ReferSubscriber"),re=["audio","video"];H.inherits(r,F.EventEmitter),r.prototype.isInProgress=function(){switch(this.status){case q.STATUS_NULL:case q.STATUS_INVITE_SENT:case q.STATUS_1XX_RECEIVED:case q.STATUS_INVITE_RECEIVED:case q.STATUS_WAITING_FOR_ANSWER:return!0;default:return!1}},r.prototype.isEstablished=function(){switch(this.status){case q.STATUS_ANSWERED:case q.STATUS_WAITING_FOR_ACK:case q.STATUS_CONFIRMED:return!0;default:return!1}},r.prototype.isEnded=function(){switch(this.status){case q.STATUS_CANCELED:case q.STATUS_TERMINATED:return!0;default:return!1}},r.prototype.isMuted=function(){return{audio:this.audioMuted,video:this.videoMuted}},r.prototype.isOnHold=function(){return{local:this.localHold,remote:this.remoteHold}},r.prototype.isReadyToReOffer=function(){return this.rtcReady?this.dialog?!0!==this.dialog.uac_pending_reply&&!0!==this.dialog.uas_pending_reply||(j("isReadyToReOffer() | there is another INVITE/UPDATE transaction in progress"),!1):(j("isReadyToReOffer() | session not established yet"),!1):(j("isReadyToReOffer() | internal WebRTC status not ready"),!1)},r.prototype.connect=function(e,t,n){j("connect()");var r,s,i=e,a=(t=t||{}).eventHandlers||{},l=t.extraHeaders&&t.extraHeaders.slice()||[],u=t.mediaConstraints||{audio:!0,video:!0},c=t.mediaStream||null,d=t.pcConfig||{iceServers:[]},h=t.rtcConstraints||null,p=t.rtcOfferConstraints||null;if(this.rtcOfferConstraints=p,this.rtcAnswerConstraints=t.rtcAnswerConstraints||null,this.sessionTimers.enabled&&J.isDecimal(t.sessionTimersExpires)&&(t.sessionTimersExpires>=W.MIN_SESSION_EXPIRES?this.sessionTimers.defaultExpires=t.sessionTimersExpires:this.sessionTimers.defaultExpires=W.SESSION_EXPIRES),this.data=t.data||this.data,void 0===e)throw new TypeError("Not enough arguments");if(!window.RTCPeerConnection)throw new V.NotSupportedError("WebRTC not supported");if(!(e=this.ua.normalizeTarget(e)))throw new TypeError("Invalid target: "+i);if(this.status!==q.STATUS_NULL)throw new V.InvalidStateError(this.status);for(r in a)this.on(r,a[r]);this.from_tag=J.newTag(),this.anonymous=t.anonymous||!1,this.isCanceled=!1,s={from_tag:this.from_tag},this.contact=this.ua.contact.toString({anonymous:this.anonymous,outbound:!0}),this.anonymous&&(s.from_display_name="Anonymous",s.from_uri="sip:[email protected]",l.push("P-Preferred-Identity: "+this.ua.configuration.uri.toString()),l.push("Privacy: id")),l.push("Contact: "+this.contact),l.push("Content-Type: application/sdp"),this.sessionTimers.enabled&&l.push("Session-Expires: "+this.sessionTimers.defaultExpires),this.request=new Y.OutgoingRequest(W.INVITE,e,this.ua,s,l),this.id=this.request.call_id+this.from_tag,o.call(this,d,h),this.ua.sessions[this.id]=this,this.direction="outgoing",this.local_identity=this.request.from,this.remote_identity=this.request.to,n?n(this):w.call(this,"local",this.request),f.call(this,u,p,c)},r.prototype.init_incoming=function(e,t){j("init_incoming()");var n,r=this,s=e.getHeader("Content-Type");e.body&&"application/sdp"!==s?e.reply(415):(this.status=q.STATUS_INVITE_RECEIVED,this.from_tag=e.from_tag,this.id=e.call_id+this.from_tag,this.request=e,this.contact=this.ua.contact.toString(),this.ua.sessions[this.id]=this,e.hasHeader("expires")&&(n=1e3*e.getHeader("expires")),e.to_tag=J.newTag(),l.call(this,e,"UAS",!0)?(e.body?this.late_sdp=!1:this.late_sdp=!0,this.status=q.STATUS_WAITING_FOR_ANSWER,this.timers.userNoAnswerTimer=setTimeout(function(){e.reply(408),D.call(r,"local",null,W.causes.NO_ANSWER)},this.ua.configuration.no_answer_timeout),n&&(this.timers.expiresTimer=setTimeout(function(){r.status===q.STATUS_WAITING_FOR_ANSWER&&(e.reply(487),D.call(r,"system",null,W.causes.EXPIRES))},n)),this.direction="incoming",this.local_identity=e.to,this.remote_identity=e.from,t?t(this):w.call(this,"remote",e),this.status!==q.STATUS_TERMINATED&&(e.reply(180,null,["Contact: "+r.contact]),O.call(r,"local",null))):e.reply(500,"Missing Contact header field"))},r.prototype.answer=function(e){function t(e){if(_.status!==q.STATUS_TERMINATED)if(_.localMediaStream=e,e&&_.connection.addStream(e),j('emit "peerconnection"'),_.emit("peerconnection",{peerconnection:_.connection}),_.late_sdp)r();else{var t={originator:"remote",type:"offer",sdp:C.body}
1;j('emit "sdp"'),_.emit("sdp",t);var n=new RTCSessionDescription({type:"offer",sdp:t.sdp});_.connection.setRemoteDescription(n).then(r).catch(function(e){C.reply(488),D.call(_,"system",null,W.causes.WEBRTC_ERROR),G('emit "peerconnection:setremotedescriptionfailed" [error:%o]',e),_.emit("peerconnection:setremotedescriptionfailed",e)})}}function n(){_.status!==q.STATUS_TERMINATED&&(C.reply(480),D.call(_,"local",null,W.causes.USER_DENIED_MEDIA_ACCESS))}function r(){I.call(_,C),_.late_sdp?a.call(_,"offer",u,c,_.rtcOfferConstraints):a.call(_,"answer",u,c,w)}function u(e){_.status!==q.STATUS_TERMINATED&&(E.call(_,C,S),C.reply(200,null,S,e,function(){_.status=q.STATUS_WAITING_FOR_ACK,s.call(_,C,e),i.call(_),x.call(_,"local")},function(){D.call(_,"system",null,W.causes.CONNECTION_ERROR)}))}function c(){_.status!==q.STATUS_TERMINATED&&(C.reply(500),D.call(_,"system",null,W.causes.WEBRTC_ERROR))}j("answer()"),e=e||{};var d,h,p,f,m=!1,g=!1,v=!1,T=!1,_=this,C=this.request,S=e.extraHeaders&&e.extraHeaders.slice()||[],y=e.mediaConstraints||{},A=e.mediaStream||null,R=e.pcConfig||{iceServers:[]},b=e.rtcConstraints||null,w=e.rtcAnswerConstraints||null;if(this.rtcAnswerConstraints=w,this.rtcOfferConstraints=e.rtcOfferConstraints||null,this.sessionTimers.enabled&&J.isDecimal(e.sessionTimersExpires)&&(e.sessionTimersExpires>=W.MIN_SESSION_EXPIRES?this.sessionTimers.defaultExpires=e.sessionTimersExpires:this.sessionTimers.defaultExpires=W.SESSION_EXPIRES),this.data=e.data||this.data,"incoming"!==this.direction)throw new V.NotSupportedError('"answer" not supported for outgoing RTCSession');if(this.status!==q.STATUS_WAITING_FOR_ANSWER)throw new V.InvalidStateError(this.status);if(this.status=q.STATUS_ANSWERED,l.call(this,C,"UAS")){for(clearTimeout(this.timers.userNoAnswerTimer),S.unshift("Contact: "+_.contact),p=C.parseSDP(),Array.isArray(p.media)||(p.media=[p.media]),d=p.media.length;d--;){var O=p.media[d];"audio"===O.type&&(m=!0,O.direction&&"sendrecv"!==O.direction||(v=!0)),"video"===O.type&&(g=!0,O.direction&&"sendrecv"!==O.direction||(T=!0))}if(A&&!1===y.audio)for(h=(f=A.getAudioTracks()).length,d=0;d<h;d++)A.removeTrack(f[d]);if(A&&!1===y.video)for(h=(f=A.getVideoTracks()).length,d=0;d<h;d++)A.removeTrack(f[d]);A||void 0!==y.audio||(y.audio=v),A||void 0!==y.video||(y.video=T),A||m||(y.audio=!1),A||g||(y.video=!1),o.call(this,R,b),A?t(A):y.audio||y.video?(_.localMediaStreamLocallyGenerated=!0,navigator.mediaDevices.getUserMedia(y).then(t).catch(function(e){n(),G('emit "getusermediafailed" [error:%o]',e),_.emit("getusermediafailed",e)})):t(null)}else C.reply(500,"Error creating dialog")},r.prototype.terminate=function(e){j("terminate()");var t,n,r=(e=e||{}).cause||W.causes.BYE,s=e.status_code,i=e.reason_phrase,o=e.extraHeaders&&e.extraHeaders.slice()||[],a=e.body,l=this;if(this.status===q.STATUS_TERMINATED)throw new V.InvalidStateError(this.status);switch(this.status){case q.STATUS_NULL:case q.STATUS_INVITE_SENT:case q.STATUS_1XX_RECEIVED:if(j("canceling session"),s&&(s<200||s>=700))throw new TypeError("Invalid status_code: "+s);s&&(t="SIP ;cause="+s+' ;text="'+(i=i||W.REASON_PHRASE[s]||"")+'"'),this.status===q.STATUS_NULL?(this.isCanceled=!0,this.cancelReason=t):this.status===q.STATUS_INVITE_SENT?(this.isCanceled=!0,this.cancelReason=t):this.status===q.STATUS_1XX_RECEIVED&&this.request.cancel(t),this.status=q.STATUS_CANCELED,D.call(this,"local",null,W.causes.CANCELED);break;case q.STATUS_WAITING_FOR_ANSWER:case q.STATUS_ANSWERED:if(j("rejecting session"),(s=s||480)<300||s>=700)throw new TypeError("Invalid status_code: "+s);this.request.reply(s,i,o,a),D.call(this,"local",null,W.causes.REJECTED);break;case q.STATUS_WAITING_FOR_ACK:case q.STATUS_CONFIRMED:if(j("terminating session"),i=e.reason_phrase||W.REASON_PHRASE[s]||"",s&&(s<200||s>=700))throw new TypeError("Invalid status_code: "+s);s&&o.push("Reason: SIP ;cause="+s+'; text="'+i+'"'),this.status===q.STATUS_WAITING_FOR_ACK&&"incoming"===this.direction&&this.request.server_transaction.state!==z.C.STATUS_TERMINATED?(n=this.dialog,this.receiveRequest=function(e){e.method===W.ACK&&(_.call(this,W.BYE,{extraHeaders:o,body:a}),n.terminate())},this.request.server_transaction.on("stateChanged",function(){this.state===z.C.STATUS_TERMINATED&&(_.call(l,W.BYE,{extraHeaders:o,body:a}),n.terminate())}),P.call(this,"local",null,r),this.dialog=n,this.ua.dialogs[n.id.toString()]=n):(_.call(this,W.BYE,{extraHeaders:o,body:a}),P.call(this,"local",null,r))}},r.prototype.close=function(){j("close()");var e;if(this.status!==q.STATUS_TERMINATED){if(this.connection)try{this.connection.close()}catch(e){G("close() | error closing the RTCPeerConnection: %o",e)}
1this.localMediaStream&&this.localMediaStreamLocallyGenerated&&(j("close() | closing local MediaStream"),J.closeMediaStream(this.localMediaStream));for(e in this.timers)clearTimeout(this.timers[e]);clearTimeout(this.sessionTimers.timer),this.dialog&&(this.dialog.terminate(),delete this.dialog);for(e in this.earlyDialogs)this.earlyDialogs[e].terminate(),delete this.earlyDialogs[e];this.status=q.STATUS_TERMINATED,delete this.ua.sessions[this.id]}},r.prototype.sendDTMF=function(e,t){function n(){var e,a;if(o.status===q.STATUS_TERMINATED||!o.tones||i>=o.tones.length)o.tones=null;else{if(e=o.tones[i],i+=1,","===e)a=2e3;else{var l=new Z(o);t.eventHandlers={onFailed:function(){o.tones=null}},l.send(e,t),a=r+s}setTimeout(n,a)}}j("sendDTMF() | tones: %s",e);var r,s,i=0,o=this;if(t=t||{},r=t.duration||null,s=t.interToneGap||null,void 0===e)throw new TypeError("Not enough arguments");if(this.status!==q.STATUS_CONFIRMED&&this.status!==q.STATUS_WAITING_FOR_ACK)throw new V.InvalidStateError(this.status);if("number"==typeof e&&(e=e.toString()),!e||"string"!=typeof e||!e.match(/^[0-9A-DR#*,]+$/i))throw new TypeError("Invalid tones: "+e);if(r&&!J.isDecimal(r))throw new TypeError("Invalid tone duration: "+r);if(r?r<Z.C.MIN_DURATION?(j('"duration" value is lower than the minimum allowed, setting it to '+Z.C.MIN_DURATION+" milliseconds"),r=Z.C.MIN_DURATION):r>Z.C.MAX_DURATION?(j('"duration" value is greater than the maximum allowed, setting it to '+Z.C.MAX_DURATION+" milliseconds"),r=Z.C.MAX_DURATION):r=Math.abs(r):r=Z.C.DEFAULT_DURATION,t.duration=r,s&&!J.isDecimal(s))throw new TypeError("Invalid interToneGap: "+s);s?s<Z.C.MIN_INTER_TONE_GAP?(j('"interToneGap" value is lower than the minimum allowed, setting it to '+Z.C.MIN_INTER_TONE_GAP+" milliseconds"),s=Z.C.MIN_INTER_TONE_GAP):s=Math.abs(s):s=Z.C.DEFAULT_INTER_TONE_GAP,this.tones?this.tones+=e:(this.tones=e,n())},r.prototype.sendInfo=function(e,t,n){if(j("sendInfo()"),n=n||{},this.status!==q.STATUS_CONFIRMED&&this.status!==q.STATUS_WAITING_FOR_ACK)throw new V.InvalidStateError(this.status);new ee(this).send(e,t,n)},r.prototype.mute=function(e){j("mute()"),e=e||{audio:!0,video:!1};var t=!1,n=!1;!1===this.audioMuted&&e.audio&&(t=!0,this.audioMuted=!0,R.call(this,!0)),!1===this.videoMuted&&e.video&&(n=!0,this.videoMuted=!0,b.call(this,!0)),!0!==t&&!0!==n||M.call(this,{audio:t,video:n})},r.prototype.unmute=function(e){j("unmute()"),e=e||{audio:!0,video:!0};var t=!1,n=!1;!0===this.audioMuted&&e.audio&&(t=!0,this.audioMuted=!1,!1===this.localHold&&R.call(this,!1)),!0===this.videoMuted&&e.video&&(n=!0,this.videoMuted=!1,!1===this.localHold&&b.call(this,!1)),!0!==t&&!0!==n||L.call(this,{audio:t,video:n})},r.prototype.hold=function(e,t){j("hold()"),e=e||{};var n,r=this;return!(this.status!==q.STATUS_WAITING_FOR_ACK&&this.status!==q.STATUS_CONFIRMED||!0===this.localHold||!this.isReadyToReOffer()||(this.localHold=!0,U.call(this,"local"),n={succeeded:function(){t&&t()},failed:function(){r.terminate({cause:W.causes.WEBRTC_ERROR,status_code:500,reason_phrase:"Hold Failed"})}},e.useUpdate?v.call(this,{sdpOffer:!0,eventHandlers:n,extraHeaders:e.extraHeaders}):g.call(this,{eventHandlers:n,extraHeaders:e.extraHeaders}),0))},r.prototype.unhold=function(e,t){j("unhold()"),e=e||{};var n,r=this;return!(this.status!==q.STATUS_WAITING_FOR_ACK&&this.status!==q.STATUS_CONFIRMED||!1===this.localHold||!this.isReadyToReOffer()||(this.localHold=!1,k.call(this,"local"),n={succeeded:function(){t&&t()},failed:function(){r.terminate({cause:W.causes.WEBRTC_ERROR,status_code:500,reason_phrase:"Unhold Failed"})}},e.useUpdate?v.call(this,{sdpOffer:!0,eventHandlers:n,extraHeaders:e.extraHeaders}):g.call(this,{eventHandlers:n,extraHeaders:e.extraHeaders}),0))},r.prototype.renegotiate=function(e,t){j("renegotiate()");var n,r=this,s=(e=e||{}).rtcOfferConstraints||null;return!(this.status!==q.STATUS_WAITING_FOR_ACK&&this.status!==q.STATUS_CONFIRMED||!this.isReadyToReOffer()||(n={succeeded:function(){t&&t()},failed:function(){r.terminate({cause:W.causes.WEBRTC_ERROR,status_code:500,reason_phrase:"Media Renegotiation Failed"})}},S.call(this),e.useUpdate?v.call(this,{sdpOffer:!0,eventHandlers:n,rtcOfferConstraints:s,extraHeaders:e.extraHeaders}):g.call(this,{eventHandlers:n,rtcOfferConstraints:s,extraHeaders:e.extraHeaders}),0))},r.prototype.refer=function(e,t){j("refer()");var n,r,s=this,i=e;if(this.status!==q.STATUS_WAITING_FOR_ACK&&this.status!==q.STATUS_CONFIRMED)return!1;if(!(e=this.ua.normalizeTarget(e)))throw new TypeError("Invalid target: "+i);return(n=new ne(this)).sendRefer(e,t),r=n.outgoingRequest.cseq,this.referSubscribers[r]=n,n.on("requestFailed",function(){delete s.referSubscribers[r]}),n.on("accepted",function(){delete s.referSubscribers[r]}),n.on("failed",function(){delete s.referSubscribers[r]}),n},r.prototype.receiveRequest=function(e){j("receiveRequest()");var t,n=this;if(e.method===W.CANCEL)this.status!==q.STATUS_WAITING_FOR_ANSWER&&this.status!==q.STATUS_ANSWERED||(this.status=q.STATUS_CANCELED,this.request.reply(487),D.call(this,"remote",e,W.causes.CANCELED));else switch(e.method){case W.ACK:if(this.status!==q.STATUS_WAITING_FOR_ACK)return;if(this.status=q.STATUS_CONFIRMED,clearTimeout(this.timers.ackTimer),clearTimeout(this.timers.invite2xxTimer),this.late_sdp){if
1(!e.body){this.terminate({cause:W.causes.MISSING_SDP,status_code:400});break}var r={originator:"remote",type:"answer",sdp:e.body},s=new RTCSessionDescription({type:"answer",sdp:r.sdp});this.emit("sdp",r),this.connection.setRemoteDescription(s).then(function(){n.is_confirmed||N.call(n,"remote",e)}).catch(function(e){n.terminate({cause:W.causes.BAD_MEDIA_DESCRIPTION,status_code:488}),n.emit("peerconnection:setremotedescriptionfailed",e)})}else this.is_confirmed||N.call(this,"remote",e);break;case W.BYE:this.status===q.STATUS_CONFIRMED?(e.reply(200),P.call(this,"remote",e,W.causes.BYE)):this.status===q.STATUS_INVITE_RECEIVED?(e.reply(200),this.request.reply(487,"BYE Received"),P.call(this,"remote",e,W.causes.BYE)):e.reply(403,"Wrong Status");break;case W.INVITE:this.status===q.STATUS_CONFIRMED?e.hasHeader("replaces")?p.call(this,e):u.call(this,e):e.reply(403,"Wrong Status");break;case W.INFO:this.status===q.STATUS_CONFIRMED||this.status===q.STATUS_WAITING_FOR_ACK||this.status===q.STATUS_INVITE_RECEIVED?(t=e.getHeader("content-type"))&&t.match(/^application\/dtmf-relay/i)?new Z(this).init_incoming(e):void 0!==t?new ee(this).init_incoming(e):e.reply(415):e.reply(403,"Wrong Status");break;case W.UPDATE:this.status===q.STATUS_CONFIRMED?c.call(this,e):e.reply(403,"Wrong Status");break;case W.REFER:this.status===q.STATUS_CONFIRMED?d.call(this,e):e.reply(403,"Wrong Status");break;case W.NOTIFY:this.status===q.STATUS_CONFIRMED?h.call(this,e):e.reply(403,"Wrong Status");break;default:e.reply(501)}},r.prototype.onTransportError=function(){G("onTransportError()"),this.status!==q.STATUS_TERMINATED&&this.terminate({status_code:500,reason_phrase:W.causes.CONNECTION_ERROR,cause:W.causes.CONNECTION_ERROR})},r.prototype.onRequestTimeout=function(){G("onRequestTimeout()"),this.status!==q.STATUS_TERMINATED&&this.terminate({status_code:408,reason_phrase:W.causes.REQUEST_TIMEOUT,cause:W.causes.REQUEST_TIMEOUT})},r.prototype.onDialogError=function(){G("onDialogError()"),this.status!==q.STATUS_TERMINATED&&this.terminate({status_code:500,reason_phrase:W.causes.DIALOG_ERROR,cause:W.causes.DIALOG_ERROR})},r.prototype.newDTMF=function(e){j("newDTMF()"),this.emit("newDTMF",e)},r.prototype.newInfo=function(e){j("newInfo()"),this.emit("newInfo",e)},r.prototype.resetLocalMedia=function(){j("resetLocalMedia()"),this.localHold=!1,this.audioMuted=!1,this.videoMuted=!1,S.call(this)}},{"./Constants":1,"./Dialog":2,"./Exceptions":5,"./RTCSession/DTMF":12,"./RTCSession/Info":13,"./RTCSession/ReferNotifier":14,"./RTCSession/ReferSubscriber":15,"./RTCSession/Request":16,"./RequestSender":18,"./SIPMessage":19,"./Timers":21,"./Transactions":22,"./Utils":26,debug:29,events:31,"sdp-transform":35,util:41}],12:[function(e,t,n){function r(e){this.owner=e,this.direction=null,this.tone=null,this.duration=null,o.EventEmitter.call(this)}t.exports=r;var s={MIN_DURATION:70,MAX_DURATION:6e3,DEFAULT_DURATION:100,MIN_INTER_TONE_GAP:50,DEFAULT_INTER_TONE_GAP:500};r.C=s;var i=e("util"),o=e("events"),a=e("debug")("JsSIP:RTCSession:DTMF"),l=e("debug")("JsSIP:ERROR:RTCSession:DTMF");l.log=console.warn.bind(console);var u=e("../Constants"),c=e("../Exceptions"),d=e("../RTCSession");i.inherits(r,o.EventEmitter),r.prototype.send=function(e,t){var n,r;if(void 0===e)throw new TypeError("Not enough arguments");if(this.direction="outgoing",this.owner.status!==d.C.STATUS_CONFIRMED&&this.owner.status!==d.C.STATUS_WAITING_FOR_ACK)throw new c.InvalidStateError(this.owner.status);if(t=t||{},n=t.extraHeaders?t.extraHeaders.slice():[],this.eventHandlers=t.eventHandlers||{},"string"==typeof e)e=e.toUpperCase();else{if("number"!=typeof e)throw new TypeError("Invalid tone: "+e);e=e.toString()}if(!e.match(/^[0-9A-DR#*]$/))throw new TypeError("Invalid tone: "+e);this.tone=e,this.duration=t.duration,n.push("Content-Type: application/dtmf-relay"),r="Signal="+this.tone+"\r\n",r+="Duration="+this.duration,this.owner.newDTMF({originator:"local",dtmf:this,request:this.request}),this.owner.dialog.sendRequest(this,u.INFO,{extraHeaders:n,body:r})},r.prototype.receiveResponse=function(e){switch(!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}
1$/.test(e.status_code):this.emit("succeeded",{originator:"remote",response:e});break;default:this.eventHandlers.onFailed&&this.eventHandlers.onFailed(),this.emit("failed",{originator:"remote",response:e})}},r.prototype.onRequestTimeout=function(){l("onRequestTimeout"),this.owner.onRequestTimeout()},r.prototype.onTransportError=function(){l("onTransportError"),this.owner.onTransportError()},r.prototype.onDialogError=function(){l("onDialogError"),this.owner.onDialogError()},r.prototype.init_incoming=function(e){var t,n=/^(Signal\s*?=\s*?)([0-9A-D#*]{1})(\s)?.*/,r=/^(Duration\s?=\s?)([0-9]{1,4})(\s)?.*/;this.direction="incoming",this.request=e,e.reply(200),e.body&&((t=e.body.split("\n")).length>=1&&n.test(t[0])&&(this.tone=t[0].replace(n,"$2")),t.length>=2&&r.test(t[1])&&(this.duration=parseInt(t[1].replace(r,"$2"),10))),this.duration||(this.duration=s.DEFAULT_DURATION),this.tone?this.owner.newDTMF({originator:"remote",dtmf:this,request:e}):a("invalid INFO DTMF received, discarded")}},{"../Constants":1,"../Exceptions":5,"../RTCSession":11,debug:29,events:31,util:41}],13:[function(e,t,n){function r(e){this.owner=e,this.direction=null,this.contentType=null,this.body=null,i.EventEmitter.call(this)}t.exports=r;var s=e("util"),i=e("events"),o=e("debug")("JsSIP:ERROR:RTCSession:Info");o.log=console.warn.bind(console);var a=e("../Constants"),l=e("../Exceptions"),u=e("../RTCSession");s.inherits(r,i.EventEmitter),r.prototype.send=function(e,t,n){var r;if(this.direction="outgoing",void 0===e)throw new TypeError("Not enough arguments");if(this.owner.status!==u.C.STATUS_CONFIRMED&&this.owner.status!==u.C.STATUS_WAITING_FOR_ACK)throw new l.InvalidStateError(this.owner.status);this.contentType=e,this.body=t,(r=(n=n||{}).extraHeaders?n.extraHeaders.slice():[]).push("Content-Type: "+e),this.owner.newInfo({originator:"local",info:this,request:this.request}),this.owner.dialog.sendRequest(this,a.INFO,{extraHeaders:r,body:t})},r.prototype.receiveResponse=function(e){switch(!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}$/.test(e.status_code):this.emit("succeeded",{originator:"remote",response:e});break;
1default:this.emit("failed",{originator:"remote",response:e})}},r.prototype.onRequestTimeout=function(){o("onRequestTimeout"),this.owner.onRequestTimeout()},r.prototype.onTransportError=function(){o("onTransportError"),this.owner.onTransportError()},r.prototype.onDialogError=function(){o("onDialogError"),this.owner.onDialogError()},r.prototype.init_incoming=function(e){this.direction="incoming",this.request=e,e.reply(200),this.contentType=e.getHeader("content-type"),this.body=e.body,this.owner.newInfo({originator:"remote",info:this,request:e})}},{"../Constants":1,"../Exceptions":5,"../RTCSession":11,debug:29,events:31,util:41}],14:[function(e,t,n){function r(e,t,n){this.session=e,this.id=t,this.expires=n||s.expires,this.active=!0,this.notify(100)}t.exports=r;var s={event_type:"refer",body_type:"message/sipfrag;version=2.0",expires:300},i=e("debug")("JsSIP:RTCSession:ReferNotifier"),o=e("../Constants"),a=e("./Request");r.prototype.notify=function(e,t){i("notify()");var n,r=this;!1!==this.active&&(t=t||o.REASON_PHRASE[e]||"",n=e>=200?"terminated;reason=noresource":"active;expires="+this.expires,new a(this.session,o.NOTIFY).send({extraHeaders:["Event: "+s.event_type+";id="+r.id,"Subscription-State: "+n,"Content-Type: "+s.body_type],body:"SIP/2.0 "+e+" "+t,eventHandlers:{onErrorResponse:function(){r.active=!1}}}))}},{"../Constants":1,"./Request":16,debug:29}],15:[function(e,t,n){function r(e){this.session=e,this.timer=null,this.outgoingRequest=null,a.EventEmitter.call(this)}function s(){console.log("removeSubscriber()"),clearTimeout(this.timer),this.session.referSubscriber=null}t.exports=r;var i={expires:120},o=e("util"),a=e("events"),l=e("debug")("JsSIP:RTCSession:ReferSubscriber"),u=e("../Constants"),c=e("../Grammar"),d=e("./Request");o.inherits(r,a.EventEmitter),r.prototype.sendRefer=function(e,t){l("sendRefer()");var n,r,o,a=null,c=this;n=(t=t||{}).extraHeaders?t.extraHeaders.slice():[],r=t.eventHandlers||{};for(var h in r)this.on(h,r[h]);t.replaces&&(a=t.replaces.request.call_id,a+=";to-tag="+t.replaces.to_tag,a+=";from-tag="+t.replaces.from_tag,a=encodeURIComponent(a)),o="Refer-To: <"+e+(a?"?Replaces="+a:"")+">",n.push(o);var p=new d(this.session,u.REFER);this.timer=setTimeout(function(){s.call(c)},1e3*i.expires),p.send({extraHeaders:n,eventHandlers:{onSuccessResponse:function(e){c.emit("requestSucceeded",{response:e})},onErrorResponse:function(e){c.emit("requestFailed",{response:e,cause:u.causes.REJECTED})},onTransportError:function(){s.call(c),c.emit("requestFailed",{response:null,cause:u.causes.CONNECTION_ERROR})},onRequestTimeout:function(){s.call(c),c.emit("requestFailed",{response:null,cause:u.causes.REQUEST_TIMEOUT})},onDialogError:function(){s.call(c),c.emit("requestFailed",{response:null,cause:u.causes.DIALOG_ERROR})}}}),this.outgoingRequest=p.outgoingRequest},r.prototype.receiveNotify=function(e){l("receiveNotify()");var t;if(e.body)if(-1!==(t=c.parse(e.body,"Status_Line")))switch(!0){case/^100$/.test(t.status_code):this.emit("trying",{request:e,status_line:t});break;case/^1[0-9]{2}$/.test(t.status_code):this.emit("progress",{request:e,status_line:t});break;case/^2[0-9]{2}$/.test(t.status_code):s.call(this),this.emit("accepted",{request:e,status_line:t});break;default:s.call(this),this.emit("failed",{request:e,status_line:t})}else l('receiveNotify() | error parsing NOTIFY body: "'+e.body+'"')}},{"../Constants":1,"../Grammar":6,"./Request":16,debug:29,events:31,util:41}],16:[function(e,t,n){function r(e,t){if(s("new | %s",t),this.session=e,this.method=t,this.outgoingRequest=null,this.session.status!==l.C.STATUS_1XX_RECEIVED&&this.session.status!==l.C.STATUS_WAITING_FOR_ANSWER&&this.session.status!==l.C.STATUS_WAITING_FOR_ACK&&this.session.status!==l.C.STATUS_CONFIRMED&&this.session.status!==l.C.STATUS_TERMINATED)throw new a.InvalidStateError(this.session.status);if(this.session.status===l.C.STATUS_TERMINATED&&t!==o.BYE)throw new a.InvalidStateError(this.session.status)}t.exports=r;var s=e("debug")("JsSIP:RTCSession:Request"),i=e("debug")("JsSIP:ERROR:RTCSession:Request");i.log=console.warn.bind(console);var o=e("../Constants"),a=e("../Exceptions"),l=e("../RTCSession");r.prototype.send=function(e){var t=(e=e||{}).extraHeaders&&e.extraHeaders.slice()||[],n=e.body||null;this.eventHandlers=e.eventHandlers||{},this.outgoingRequest=this.session.dialog.sendRequest(this,this.method,{extraHeaders:t,body:n})},r.prototype.receiveResponse=function(e){switch(!0){case/^1[0-9]{2}$/.test(e.status_code):s("onProgressResponse"),this.eventHandlers.onProgressResponse&&this.eventHandlers.onProgressResponse(e);break;case/^2[0-9]{2}$/.test(e.status_code):s("onSuccessResponse"),this.eventHandlers.onSuccessResponse&&this.eventHandlers.onSuccessResponse(e);break;default:s("onErrorResponse"),this.eventHandlers.onErrorResponse&&this.eventHandlers.onErrorResponse(e)}},r.prototype.onRequestTimeout=function(){i("onRequestTimeout"),this.eventHandlers.onRequestTimeout&&this.eventHandlers.onRequestTimeout()},r.prototype.onTransportError=function(){i("onTransportError"),this.eventHandlers.onTransportError&&this.eventHandlers.onTransportError()},r.prototype.onDialogError=function(){i("onDialogError"),this.eventHandlers.onDialogError&&this.eventHandlers.onDialogError()}},{"../Constants":1,"../Exceptions":5,"../RTCSession":11,debug:29}],17:[function(e,t,n){function r(e,t){this.ua=e,this.transport=t,this.registrar=e.configuration.registrar_server,this.expires=e.configuration.register_expires,this.call_id=i.createRandomToken(22),this.cseq=0,this.to_uri=e.configuration.uri,this.registrationTimer=null,this.registering=!1,this.registered=!1,this.contact=this.ua.contact.toString(),this.contact+=";+sip.ice",this.extraHeaders=[],this.extraContactParams="",this.contact+=";reg-id=1",this.contact+=';
1+sip.instance="<urn:uuid:'+this.ua.configuration.instance_id+'>"'}t.exports=r;var s=e("debug")("JsSIP:Registrator"),i=e("./Utils"),o=e("./Constants"),a=e("./SIPMessage"),l=e("./RequestSender");r.prototype={setExtraHeaders:function(e){Array.isArray(e)||(e=[]),this.extraHeaders=e.slice()},setExtraContactParams:function(e){e instanceof Object||(e={}),this.extraContactParams="";for(var t in e){var n=e[t];this.extraContactParams+=";"+t,n&&(this.extraContactParams+="="+n)}},register:function(){var e,t,n,r=this;this.registering?s("Register request in progress..."):((n=this.extraHeaders.slice()).push("Contact: "+this.contact+";expires="+this.expires+this.extraContactParams),n.push("Expires: "+this.expires),this.request=new a.OutgoingRequest(o.REGISTER,this.registrar,this.ua,{to_uri:this.to_uri,call_id:this.call_id,cseq:this.cseq+=1},n),e=new l(this,this.ua),this.receiveResponse=function(e){var n,a,l=e.getHeaders("contact").length;if(e.cseq===this.cseq)switch(null!==this.registrationTimer&&(clearTimeout(this.registrationTimer),this.registrationTimer=null),!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}$/.test(e.status_code):if(this.registering=!1,e.hasHeader("expires")&&(a=e.getHeader("expires")),!l){s("no Contact header in response to REGISTER, response ignored");break}for(;l--;){if((n=e.parseHeader("contact",l)).uri.user===this.ua.contact.uri.user){a=n.getParam("expires");break}n=null}if(!n){s("no Contact header pointing to us, response ignored");break}a||(a=this.expires),this.registrationTimer=setTimeout(function(){r.registrationTimer=null,0===r.ua.listeners("registrationExpiring").length?r.register():r.ua.emit("registrationExpiring")},1e3*a-5e3),n.hasParam("temp-gruu")&&(this.ua.contact.temp_gruu=n.getParam("temp-gruu").replace(/"/g,"")),n.hasParam("pub-gruu")&&(this.ua.contact.pub_gruu=n.getParam("pub-gruu").replace(/"/g,"")),this.registered||(this.registered=!0,this.ua.registered({response:e}));break;case/^423$/.test(e.status_code):e.hasHeader("min-expires")?(this.expires=e.getHeader("min-expires"),this.register()):(s("423 response received for REGISTER without Min-Expires"),this.registrationFailure(e,o.causes.SIP_FAILURE_CODE));break;default:t=i.sipErrorCause(e.status_code),this.registrationFailure(e,t)}},this.onRequestTimeout=function(){this.registrationFailure(null,o.causes.REQUEST_TIMEOUT)},this.onTransportError=function(){this.registrationFailure(null,o.causes.CONNECTION_ERROR)},this.registering=!0,e.send())},unregister:function(e){var t;if(this.registered){e=e||{},this.registered=!1,null!==this.registrationTimer&&(clearTimeout(this.registrationTimer),this.registrationTimer=null),t=this.extraHeaders.slice(),e.all?(t.push("Contact: *"+this.extraContactParams),t.push("Expires: 0"),this.request=new a.OutgoingRequest(o.REGISTER,this.registrar,this.ua,{to_uri:this.to_uri,call_id:this.call_id,cseq:this.cseq+=1},t)):(t.push("Contact: "+this.contact+";expires=0"+this.extraContactParams),t.push("Expires: 0"),this.request=new a.OutgoingRequest(o.REGISTER,this.registrar,this.ua,{to_uri:this.to_uri,call_id:this.call_id,cseq:this.cseq+=1},t));var n=new l(this,this.ua);this.receiveResponse=function(e){var t;switch(!0){case/^1[0-9]{2}$/.test(e.status_code):break;case/^2[0-9]{2}$/.test(e.status_code):this.unregistered(e);break;default:t=i.sipErrorCause(e.status_code),this.unregistered(e,t)}},this.onRequestTimeout=function(){this.unregistered(null,o.causes.REQUEST_TIMEOUT)},this.onTransportError=function(){this.unregistered(null,o.causes.CONNECTION_ERROR)},n.send()}else s("already unregistered")},registrationFailure:function(e,t){this.registering=!1,this.ua.registrationFailed({response:e||null,cause:t}),this.registered&&(this.registered=!1,this.ua.unregistered({response:e||null,cause:t}))},unregistered:function(e,t){this.registering=!1,this.registered=!1,this.ua.unregistered({response:e||null,cause:t||null})},onTransportClosed:function(){this.registering=!1,null!==this.registrationTimer&&(clearTimeout(this.registrationTimer),this.registrationTimer=null),this.registered&&(this.registered=!1,this.ua.unregistered({}))},close:function(){this.registered&&this.unregister()}}},{"./Constants":1,"./RequestSender":18,"./SIPMessage":19,"./Utils":26,debug:29}],18:[function(e,t,n){function r(e,t){this.ua=t,this.applicant=e,this.method=e.request.method,this.request=e.request,this.auth=null,this.challenged=!1,this.staled=!1,t.status!==o.C.STATUS_USER_CLOSED||this.method===i.BYE&&this.method===i.ACK||this.onTransportError()}t.exports=r;var s=e("debug")("JsSIP:RequestSender"),i=e("./Constants"),o=e("./UA"),a=e("./DigestAuthentication"),l=e("./Transactions");r.prototype={send:function(){switch(this.method){case"INVITE":this.clientTransaction=new l.InviteClientTransaction(this,this.request,this.ua.transport);break;case"ACK":this.clientTransaction=new l.AckClientTransaction(this,this.request,this.ua.transport);break;default:this.clientTransaction=new l.NonInviteClientTransaction(this,this.request,this.ua.transport)}this.clientTransaction.send()},onRequestTimeout:function(){this.applicant.onRequestTimeout()},onTransportError:function(){this.applicant.onTransportError()},receiveResponse:function(e){var t,n,r,o=e.status_code;if(401!==o&&407!==o||null===this.ua.configuration.password&&null===this.ua.configuration.ha1)this.applicant.receiveResponse(e);else{if(401===e.status_code?(n=e.parseHeader("www-authenticate"),r="authorization"):(n=e.parseHeader("proxy-authenticate"),r="proxy-authorization"),!n)return s(e.status_code+" with wrong or missing challenge, cannot authenticate"),void this.applicant.receiveResponse(e);if(!this.challenged||!this.staled&&!0===n.stale){if(this.auth||(this.auth=new a({username:this.ua.configuration.authorization_user,password:this.ua.configuration.password,realm:this.ua.configuration.realm,ha1:this.ua.configuration.ha1})),!this.auth.authenticate(this.request,n))return void this.applicant.receiveResponse(e);this.challenged=!0,this.ua.set("realm",this.auth.get("realm")),this.ua.set("ha1",this.auth.get("ha1")),n.stale&&(this.staled=!0),t=e.method===i.REGISTER?this.applicant.cseq+=1:this.request.dialog?this.request.dialog.local_seqnum+=1:this.request.cseq+1,this.request=this.applicant.request=this.request.clone(),this.request.cseq=t,this.request.setHeader("cseq",t+" "+this.method),this.request.setHeader(r,this.auth.toString()),this.send()}else this.applicant.receiveResponse(e)}}}},{"./Constants":1,"./DigestAuthentication":4,"./Transactions":22,"./UA":24,debug:29}],19:[function(e,t,n){function r(e,t,n,r,s,i){var o,a,l,h;if(r=r||{},!e||!t||!n)return null;this.ua=n,this.headers={},this.method=e,this.ruri=t,this.body=i,this.extraHeaders=s&&s.slice()||[],r.route_set?this.setHeader("route",r.route_set):n.configuration.use_preloaded_route&&this.setHeader("route","<"+n.transport.sip_uri+";lr>"),this.setHeader("via",""),this.setHeader("max-forwards",u.MAX_FORWARDS),o=r.to_display_name||0===r.to_display_name?'"'+r.to_display_name+'" ':"",o+="<"+(r.to_uri||t)+">",o+=r.to_tag?";tag="+r.to_tag:"",this.to=new d.parse(o),this.setHeader("to",o),a=r.from_display_name||0===r.from_display_name?'"'+r.from_display_name+'" ':n.configuration.display_name?'"'+n.configuration.display_name+'" ':"",a+="<"+(r.from_uri||n.configuration.uri)+">;tag=",a+=r.from_tag||c.newTag(),this.from=new d.parse(a),this.setHeader("from",a),l=r.call_id||n.configuration.jssi
1p_id+c.createRandomToken(15),this.call_id=l,this.setHeader("call-id",l),h=r.cseq||Math.floor(1e4*Math.random()),this.cseq=h,this.setHeader("cseq",h+" "+e)}function s(){this.data=null,this.headers=null,this.method=null,this.via=null,this.via_branch=null,this.call_id=null,this.cseq=null,this.from=null,this.from_tag=null,this.to=null,this.to_tag=null,this.body=null,this.sdp=null}function i(e){this.ua=e,this.headers={},this.ruri=null,this.transport=null,this.server_transaction=null}function o(){this.headers={},this.status_code=null,this.reason_phrase=null}t.exports={OutgoingRequest:r,IncomingRequest:i,IncomingResponse:o};var a=e("debug")("JsSIP:SIPMessage"),l=e("sdp-transform"),u=e("./Constants"),c=e("./Utils"),d=e("./NameAddrHeader"),h=e("./Grammar");r.prototype={setHeader:function(e,t){var n,r;for(n=new RegExp("^\\s*"+e+"\\s*:","i"),r=0;r<this.extraHeaders.length;r++)n.test(this.extraHeaders[r])&&this.extraHeaders.splice(r,1);this.headers[c.headerize(e)]=Array.isArray(t)?t:[t]},getHeader:function(e){var t,n,r=this.extraHeaders.length,s=this.headers[c.headerize(e)];if(s){if(s[0])return s[0]}else for(t=new RegExp("^\\s*"+e+"\\s*:","i"),n=0;n<r;n++)if(s=this.extraHeaders[n],t.test(s))return s.substring(s.indexOf(":")+1).trim()},getHeaders:function(e){var t,n,r,s=this.headers[c.headerize(e)],i=[];if(s){for(n=s.length,t=0;t<n;t++)i.push(s[t]);return i}for(n=this.extraHeaders.length,r=new RegExp("^\\s*"+e+"\\s*:","i"),t=0;t<n;t++)s=this.extraHeaders[t],r.test(s)&&i.push(s.substring(s.indexOf(":")+1).trim());return i},hasHeader:function(e){var t,n,r=this.extraHeaders.length;if(this.headers[c.headerize(e)])return!0;for(t=new RegExp("^\\s*"+e+"\\s*:","i"),n=0;n<r;n++)if(t.test(this.extraHeaders[n]))return!0;return!1},parseSDP:function(e){return!e&&this.sdp?this.sdp:(this.sdp=l.parse(this.body||""),this.sdp)},toString:function(){var e,t,n,r="",s=[];r+=this.method+" "+this.ruri+" SIP/2.0\r\n";for(e in this.headers)for(t=this.headers[e].length,n=0;n<t;n++)r+=e+": "+this.headers[e][n]+"\r\n";for(t=this.extraHeaders.length,n=0;n<t;n++)r+=this.extraHeaders[n].trim()+"\r\n";switch(this.method){case u.REGISTER:s.push("path","gruu");break;case u.INVITE:this.ua.configuration.session_timers&&s.push("timer"),(this.ua.contact.pub_gruu||this.ua.contact.temp_gruu)&&s.push("gruu"),s.push("ice","replaces");break;case u.UPDATE:this.ua.configuration.session_timers&&s.push("timer"),s.push("ice")}return s.push("outbound"),r+="Allow: "+u.ALLOWED_METHODS+"\r\n",r+="Supported: "+s+"\r\n",r+="User-Agent: "+u.USER_AGENT+"\r\n",this.body?(r+="Content-Length: "+(t=c.str_utf8_length(this.body))+"\r\n\r\n",r+=this.body):r+="Content-Length: 0\r\n\r\n",r},clone:function(){var e=new r(this.method,this.ruri,this.ua);return Object.keys(this.headers).forEach(function(t){e.headers[t]=this.headers[t].slice()},this),e.body=this.body,e.extraHeaders=this.extraHeaders&&this.extraHeaders.slice()||[],e.to=this.to,e.from=this.from,e.call_id=this.call_id,e.cseq=this.cseq,e}},s.prototype={addHeader:function(e,t){var n={raw:t};e=c.headerize(e),this.headers[e]?this.headers[e].push(n):this.headers[e]=[n]},getHeader:function(e){var t=this.headers[c.headerize(e)];if(t)return t[0]?t[0].raw:void 0},getHeaders:function(e){var t,n,r=this.headers[c.headerize(e)],s=[];if(!r)return[];for(n=r.length,t=0;t<n;t++)s.push(r[t].raw);return s},hasHeader:function(e){return!!this.headers[c.headerize(e)]},parseHeader:function(e,t){var n,r,s;if(e=c.headerize(e),t=t||0,this.headers[e]){if(!(t>=this.headers[e].length))return n=this.headers[e][t],r=n.raw,n.parsed?n.parsed:-1===(s=h.parse(r,e.replace(/-/g,"_")))?(this.headers[e].splice(t,1),void a('error parsing "'+e+'" header field with value "'+r+'"')):(n.parsed=s,s);a('not so many "'+e+'" headers present')}else a('header "'+e+'" not present')},s:function(e,t){return this.parseHeader(e,t)},setHeader:function(e,t){var n={raw:t};this.headers[c.headerize(e)]=[n]},parseSDP:function(e){return!e&&this.sdp?this.sdp:(this.sdp=l.parse(this.body||""),this.sdp)},toString:function(){return this.data}},(i.prototype=new s).reply=function(e,t,n,r,s,i){var o,a,l,d,h,p=[],f=this.getHeader("To"),m=0,g=0;if(e=e||null,t=t||null,!e||e<100||e>699)throw new TypeError("Invalid status_code: "+e);if(t&&"string"!=typeof t&&!(t instanceof String))throw new TypeError("Invalid reason_phrase: "+t);if(t=t||u.REASON_PHRASE[e]||"",n=n&&n.slice()||[],h="SIP/2.0 "+e+" "+t+"\r\n",this.method===u.INVITE&&e>100&&e<=200)for(l=(o=this.getHeaders("record-route")).length,m;m<l;m++)h+="Record-Route: "+o[m]+"\r\n";for(l=(a=this.getHeaders("via")).length,g;g<l;g++)h+="Via: "+a[g]+"\r\n";for(!this.to_tag&&e>100?f+=";tag="+c.newTag():this.to_tag&&!this.s("to").hasParam("tag")&&(f+=";tag="+this.to_tag),h+="To: "+f+"\r\n",h+="From: "+this.getHeader("From")+"\r\n",h+="Call-ID: "+this.call_id+"\r\n",h+="CSeq: "+this.cseq+" "+this.method+"\r\n",l=n.length,d=0;d<l;d++)h+=n[d].trim()+"\r\n";switch(this.method){case u.INVITE:this.ua.configuration.session_timers&&p.push("timer"),(this.ua.contact.pub_gruu||this.ua.contact.temp_gruu)&&p.push("gruu"),p.push("ice","replaces");break;case u.UPDATE:this.ua.configuration.session_timers&&p.push("timer"),r&&p.push("ice"),p.push("replaces")}p.push("outbound"),this.method===u.OPTIONS?(h+="Allow: "+u.ALLOWED_METHODS+"\r\n",h+="Accept: "+u.ACCEPTED_BODY_TYPES+"\r\n"):405===e?h+="Allow: "+u.ALLOWED_METHODS+"\r\n":415===e&&(h+="Accept: "+u.ACCEPTED_BODY_TYPES+"\r\n"),h+="Supported: "+p+"\r\n",r?(h+="Content-Type: application/sdp\r\n",h+="Content-Length: "+(l=c.str_utf8_length(r))+"\r\n\r\n",h+=r):h+="Content-Length: 0\r\n\r\n",this.server_transaction.receiveResponse(e,h,s,i)},i.prototype.reply_sl=function(e,t){var n,r,s=0,i=this.getHeaders("via"),o=i.length;if(e=e||null,t=t||null,!e||e<100||e>699)throw new TypeError("Invalid status_code: "+e);if(t&&"string"!=typeof t&&!(t instanceof String))throw new TypeError("Invalid reason_phrase: "+t);for(r="SIP/2.0 "+e+" "+(t=t||u.REASON_PHRASE[e]||"")+"\r\n",s;s<o;
1s++)r+="Via: "+i[s]+"\r\n";n=this.getHeader("To"),!this.to_tag&&e>100?n+=";tag="+c.newTag():this.to_tag&&!this.s("to").hasParam("tag")&&(n+=";tag="+this.to_tag),r+="To: "+n+"\r\n",r+="From: "+this.getHeader("From")+"\r\n",r+="Call-ID: "+this.call_id+"\r\n",r+="CSeq: "+this.cseq+" "+this.method+"\r\n",r+="Content-Length: 0\r\n\r\n",this.transport.send(r)},o.prototype=new s},{"./Constants":1,"./Grammar":6,"./NameAddrHeader":9,"./Utils":26,debug:29,"sdp-transform":35}],20:[function(e,t,n){function r(){}t.exports=r;var s=e("./Utils"),i=e("./Grammar"),o=e("debug")("JsSIP:ERROR:Socket");o.log=console.warn.bind(console),r.isSocket=function(e){if(Array.isArray(e))return!1;if(void 0===e)return o("undefined JsSIP.Socket instance"),!1;try{if(!s.isString(e.url))throw o("missing or invalid JsSIP.Socket url property"),new Error;if(!s.isString(e.via_transport))throw o("missing or invalid JsSIP.Socket via_transport property"),new Error;if(-1===i.parse(e.sip_uri,"SIP_URI"))throw o("missing or invalid JsSIP.Socket sip_uri property"),new Error}catch(e){return!1}try{["connect","disconnect","send"].forEach(function(t){if(!s.isFunction(e[t]))throw o("missing or invalid JsSIP.Socket method: "+t),new Error})}catch(e){return!1}return!0}},{"./Grammar":6,"./Utils":26,debug:29}],21:[function(e,t,n){var r={T1:500,T2:4e3,T4:5e3,TIMER_B:32e3,TIMER_D:0,TIMER_F:32e3,TIMER_H:32e3,TIMER_I:0,TIMER_J:0,TIMER_K:0,TIMER_L:32e3,TIMER_M:32e3,PROVISIONAL_RESPONSE_INTERVAL:6e4};t.exports=r},{}],22:[function(e,t,n){function r(e,t,n){var r;this.type=l.NON_INVITE_CLIENT,this.transport=n,this.id="z9hG4bK"+Math.floor(1e7*Math.random()),this.request_sender=e,this.request=t,r="SIP/2.0/"+n.via_transport,r+=" "+e.ua.configuration.via_host+";branch="+this.id,this.request.setHeader("via",r),this.request_sender.ua.newTransaction(this),c.EventEmitter.call(this)}function s(e,t,n){var r,s=this;this.type=l.INVITE_CLIENT,this.transport=n,this.id="z9hG4bK"+Math.floor(1e7*Math.random()),this.request_sender=e,this.request=t,r="SIP/2.0/"+n.via_transport,r+=" "+e.ua.configuration.via_host+";branch="+this.id,this.request.setHeader("via",r),this.request_sender.ua.newTransaction(this),this.request.cancel=function(e){s.cancel_request(s,e)},c.EventEmitter.call(this)}function i(e,t,n){var r;this.transport=n,this.id="z9hG4bK"+Math.floor(1e7*Math.random()),this.request_sender=e,this.request=t,r="SIP/2.0/"+n.via_transport,r+=" "+e.ua.configuration.via_host+";branch="+this.id,this.request.setHeader("via",r),c.EventEmitter.call(this)}function o(e,t){this.type=l.NON_INVITE_SERVER,this.id=e.via_branch,this.request=e,this.transport=e.transport,this.ua=t,this.last_response="",e.server_transaction=this,this.state=l.STATUS_TRYING,t.newTransaction(this),c.EventEmitter.call(this)}function a(e,t){this.type=l.INVITE_SERVER,this.id=e.via_branch,this.request=e,this.transport=e.transport,this.ua=t,this.last_response="",e.server_transaction=this,this.state=l.STATUS_PROCEEDING,t.newTransaction(this),this.resendProvisionalTimer=null,e.reply(100),c.EventEmitter.call(this)}t.exports={C:null,NonInviteClientTransaction:r,InviteClientTransaction:s,AckClientTransaction:i,NonInviteServerTransaction:o,InviteServerTransaction:a,checkTransaction:function(e,t){var n;switch(t.method){case g.INVITE:if(n=e.transactions.ist[t.via_branch]){switch(n.state){case l.STATUS_PROCEEDING:n.transport.send(n.last_response);break;case l.STATUS_ACCEPTED:}return!0}break;case g.ACK:if(!(n=e.transactions.ist[t.via_branch]))return!1;if(n.state===l.STATUS_ACCEPTED)return!1;if(n.state===l.STATUS_COMPLETED)return n.state=l.STATUS_CONFIRMED,n.I=setTimeout(function(){n.timer_I()},v.TIMER_I),!0;break;case g.CANCEL:return(n=e.transactions.ist[t.via_branch])?(t.reply_sl(200),n.state!==l.STATUS_PROCEEDING):(t.reply_sl(481),!0);default:if(n=e.transactions.nist[t.via_branch]){switch(n.state){case l.STATUS_TRYING:break;case l.STATUS_PROCEEDING:case l.STATUS_COMPLETED:n.transport.send(n.last_response)}return!0}}}};var l={STATUS_TRYING:1,STATUS_PROCEEDING:2,STATUS_CALLING:3,STATUS_ACCEPTED:4,STATUS_COMPLETED:5,STATUS_TERMINATED:6,STATUS_CONFIRMED:7,NON_INVITE_CLIENT:"nict",NON_INVITE_SERVER:"nist",INVITE_CLIENT:"ict",INVITE_SERVER:"ist"};t.exports.C=l;var u=e("util"),c=e("events"),d=e("debug")("JsSIP:NonInviteClientTransaction"),h=e("debug")("JsSIP:Invite
1ClientTransaction"),p=e("debug")("JsSIP:AckClientTransaction"),f=e("debug")("JsSIP:NonInviteServerTransaction"),m=e("debug")("JsSIP:InviteServerTransaction"),g=e("./Constants"),v=e("./Timers");u.inherits(r,c.EventEmitter),r.prototype.stateChanged=function(e){this.state=e,this.emit("stateChanged")},r.prototype.send=function(){var e=this;this.stateChanged(l.STATUS_TRYING),this.F=setTimeout(function(){e.timer_F()},v.TIMER_F),this.transport.send(this.request)||this.onTransportError()},r.prototype.onTransportError=function(){d("transport error occurred, deleting transaction "+this.id),clearTimeout(this.F),clearTimeout(this.K),this.stateChanged(l.STATUS_TERMINATED),this.request_sender.ua.destroyTransaction(this),this.request_sender.onTransportError()},r.prototype.timer_F=function(){d("Timer F expired for transaction "+this.id),this.stateChanged(l.STATUS_TERMINATED),this.request_sender.ua.destroyTransaction(this),this.request_sender.onRequestTimeout()},r.prototype.timer_K=function(){this.stateChanged(l.STATUS_TERMINATED),this.request_sender.ua.destroyTransaction(this)},r.prototype.receiveResponse=function(e){var t=this,n=e.status_code;if(n<200)switch(this.state){case l.STATUS_TRYING:case l.STATUS_PROCEEDING:this.stateChanged(l.STATUS_PROCEEDING),this.request_sender.receiveResponse(e)}else switch(this.state){case l.STATUS_TRYING:case l.STATUS_PROCEEDING:this.stateChanged(l.STATUS_COMPLETED),clearTimeout(this.F),408===n?this.request_sender.onRequestTimeout():this.request_sender.receiveResponse(e),this.K=setTimeout(function(){t.timer_K()},v.TIMER_K);break;case l.STATUS_COMPLETED:}},u.inherits(s,c.EventEmitter),s.prototype.stateChanged=function(e){this.state=e,this.emit("stateChanged")},s.prototype.send=function(){var e=this;this.stateChanged(l.STATUS_CALLING),this.B=setTimeout(function(){e.timer_B()},v.TIMER_B),this.transport.send(this.request)||this.onTransportError()},s.prototype.onTransportError=function(){clearTimeout(this.B),clearTimeout(this.D),clearTimeout(this.M),this.state!==l.STATUS_ACCEPTED&&(h("transport error occurred, deleting transaction "+this.id),this.request_sender.onTransportError()),this.stateChanged(l.STATUS_TERMINATED),this.request_sender.ua.destroyTransaction(this)},s.prototype.timer_M=function(){h("Timer M expired for transaction "+this.id),this.state===l.STATUS_ACCEPTED&&(clearTimeout(this.B),this.stateChanged(l.STATUS_TERMINATED),this.request_sender.ua.destroyTransaction(this))},s.prototype.timer_B=function(){h("Timer B expired for transaction "+this.id),this.state===l.STATUS_CALLING&&(this.stateChanged(l.STATUS_TERMINATED),this.request_sender.ua.destroyTransaction(this),this.request_sender.onRequestTimeout())},s.prototype.timer_D=function(){h("Timer D expired for transaction "+this.id),clearTimeout(this.B),this.stateChanged(l.STATUS_TERMINATED),this.request_sender.ua.destroyTransaction(this)},s.prototype.sendACK=function(e){var t=this;this.ack="ACK "+this.request.ruri+" SIP/2.0\r\n",this.ack+="Via: "+this.request.headers.Via.toString()+"\r\n",this.request.headers.Route&&(this.ack+="Route: "+this.request.headers.Route.toString()+"\r\n"),this.ack+="To: "+e.getHeader("to")+"\r\n",this.ack+="From: "+this.request.headers.From.toString()+"\r\n",this.ack+="Call-ID: "+this.request.headers["Call-ID"].toString()+"\r\n",this.ack+="CSeq: "+this.request.headers.CSeq.toString().split(" ")[0],this.ack+=" ACK\r\n",this.ack+="Content-Length: 0\r\n\r\n",this.D=setTimeout(function(){t.timer_D()},v.TIMER_D),this.transport.send(this.ack)},s.prototype.cancel_request=function(e,t){var n=e.request;this.cancel=g.CANCEL+" "+n.ruri+" SIP/2.0\r\n",this.cancel+="Via: "+n.headers.Via.toString()+"\r\n",this.request.headers.Route&&(this.cancel+="Route: "+n.headers.Route.toString()+"\r\n"),this.cancel+="To: "+n.headers.To.toString()+"\r\n",this.cancel+="From: "+n.headers.From.toString()+"\r\n",this.cancel+="Call-ID: "+n.headers["Call-ID"].toString()+"\r\n",this.cancel+="CSeq: "+n.headers.CSeq.toString().split(" ")[0]+" CANCEL\r\n",t&&(this.cancel+="Reason: "+t+"\r\n"),this.cancel+="Content-Length: 0\r\n\r\n",this.state===l.STATUS_PROCEEDING&&this.transport.send(this.cancel)},s.prototype.receiveResponse=function(e){var t=this,n=e.status_code;if(n>=100&&n<=199)switch(this.state){case l.STATUS_CALLING:this.stateChanged(l.STATUS_PROCEEDING),this.request_sender.receiveResponse(e);break;case l.STATUS_PROCEEDING:this.request_sender.receiveResponse(e)}else if(n>=200&&n<=299)switch(this.state){case l.STATUS_CALLING:case l.STATUS_PROCEEDING:this.stateChanged(l.STATUS_ACCEPTED),this.M=setTimeout(function(){t.timer_M()},v.TIMER_M),this.request_sender.receiveResponse(e);break;case l.STATUS_ACCEPTED:this.request_sender.receiveResponse(e)}else if(n>=300&&n<=699)switch(this.state){case l.STATUS_CALLING:case l.STATUS_PROCEEDING:this.stateChanged(l.STATUS_COMPLETED),this.sendACK(e),this.request_sender.receiveResponse(e);break;case l.STATUS_COMPLETED:this.sendACK(e)}},u.inherits(i,c.EventEmitter),i.prototype.send=function(){this.transport.send(this.request)||this.onTransportError()},i.prototype.onTransportError=function(){p("transport error occurred for transaction "+this.id
1),this.request_sender.onTransportError()},u.inherits(o,c.EventEmitter),o.prototype.stateChanged=function(e){this.state=e,this.emit("stateChanged")},o.prototype.timer_J=function(){f("Timer J expired for transaction "+this.id),this.stateChanged(l.STATUS_TERMINATED),this.ua.destroyTransaction(this)},o.prototype.onTransportError=function(){this.transportError||(this.transportError=!0,f("transport error occurred, deleting transaction "+this.id),clearTimeout(this.J),this.stateChanged(l.STATUS_TERMINATED),this.ua.destroyTransaction(this))},o.prototype.receiveResponse=function(e,t,n,r){var s=this;if(100===e)switch(this.state){case l.STATUS_TRYING:this.stateChanged(l.STATUS_PROCEEDING),this.transport.send(t)||this.onTransportError();break;case l.STATUS_PROCEEDING:this.last_response=t,this.transport.send(t)?n&&n():(this.onTransportError(),r&&r())}else if(e>=200&&e<=699)switch(this.state){case l.STATUS_TRYING:case l.STATUS_PROCEEDING:this.stateChanged(l.STATUS_COMPLETED),this.last_response=t,this.J=setTimeout(function(){s.timer_J()},v.TIMER_J),this.transport.send(t)?n&&n():(this.onTransportError(),r&&r());break;case l.STATUS_COMPLETED:}},u.inherits(a,c.EventEmitter),a.prototype.stateChanged=function(e){this.state=e,this.emit("stateChanged")},a.prototype.timer_H=function(){m("Timer H expired for transaction "+this.id),this.state===l.STATUS_COMPLETED&&m("ACK not received, dialog will be terminated"),this.stateChanged(l.STATUS_TERMINATED),this.ua.destroyTransaction(this)},a.prototype.timer_I=function(){this.stateChanged(l.STATUS_TERMINATED)},a.prototype.timer_L=function(){m("Timer L expired for transaction "+this.id),this.state===l.STATUS_ACCEPTED&&(this.stateChanged(l.STATUS_TERMINATED),this.ua.destroyTransaction(this))},a.prototype.onTransportError=function(){this.transportError||(this.transportError=!0,m("transport error occurred, deleting transaction "+this.id),null!==this.resendProvisionalTimer&&(clearInterval(this.resendProvisionalTimer),this.resendProvisionalTimer=null),clearTimeout(this.L),clearTimeout(this.H),clearTimeout(this.I),this.stateChanged(l.STATUS_TERMINATED),this.ua.destroyTransaction(this))},a.prototype.resend_provisional=function(){this.transport.send(this.last_response)||this.onTransportError()},a.prototype.receiveResponse=function(e,t,n,r){var s=this;if(e>=100&&e<=199)switch(this.state){case l.STATUS_PROCEEDING:this.transport.send(t)||this.onTransportError(),this.last_response=t}if(e>100&&e<=199&&this.state===l.STATUS_PROCEEDING)null===this.resendProvisionalTimer&&(this.resendProvisionalTimer=setInterval(function(){s.resend_provisional()},v.PROVISIONAL_RESPONSE_INTERVAL));else if(e>=200&&e<=299)switch(this.state){case l.STATUS_PROCEEDING:this.stateChanged(l.STATUS_ACCEPTED),this.last_response=t,this.L=setTimeout(function(){s.timer_L()},v.TIMER_L),null!==this.resendProvisionalTimer&&(clearInterval(this.resendProvisionalTimer),this.resendProvisionalTimer=null);case l.STATUS_ACCEPTED:this.transport.send(t)?n&&n():(this.onTransportError(),r&&r())}else if(e>=300&&e<=699)switch(this.state){case l.STATUS_PROCEEDING:null!==this.resendProvisionalTimer&&(clearInterval(this.resendProvisionalTimer),this.resendProvisionalTimer=null),this.transport.send(t)?(this.stateChanged(l.STATUS_COMPLETED),this.H=setTimeout(function(){s.timer_H()},v.TIMER_H),n&&n()):(this.onTransportError(),r&&r())}}},{"./Constants":1,"./Timers":21,debug:29,events:31,util:41}],23:[function(e,t,n){function r(e,t){if(c("new()"),this.status=h.STATUS_DISCONNECTED,this.socket=null,this.sockets=[],this.recovery_options=t||h.recovery_options,this.recover_attempts=0,this.recovery_timer=null,this.close_requested=!1,void 0===e)throw new TypeError("Invalid argument. undefined 'sockets' argument");e instanceof Array||(e=[e]),e.forEach(function(e){if(!u.isSocket(e.socket))throw new TypeError("Invalid argument. invalid 'JsSIP.Socket' instance");if(e.weight&&!Number(e.weight))throw new TypeError("Invalid argument. 'weight' attribute is not a number");this.sockets.push({socket:e.socket,weight:e.weight||0,status:h.SOCKET_STATUS_READY})},this),Object.defineProperties(this,{via_transport:{get:function(){return this.socket.via_transport}},url:{get:function(){return this.socket.url}},sip_uri:{get:function(){return this.socket.sip_uri}}}),l.call(this)}function s(){this.recover_attempts=0,this.status=h.STATUS_CONNECTED,null!==this.recovery_timer&&(clearTimeout(this.recovery_timer),this.recovery_timer=null),this.onconnect({socket:this})}function i(e,t,n){this.status=h.STATUS_DISCONNECTED,this.ondisconnect({socket:this.socket,error:e,code:t,reason:n}
1),this.close_requested||(this.sockets.forEach(function(e){this.socket===e.socket&&(e.status=h.SOCKET_STATUS_ERROR)},this),a.call(this,e))}function o(e){if("\r\n"!==e){if("string"!=typeof e){try{e=String.fromCharCode.apply(null,new Uint8Array(e))}catch(e){return void c("received binary message failed to be converted into string, message discarded")}c("received binary message:\n\n"+e+"\n")}else c("received text message:\n\n"+e+"\n");this.ondata({transport:this,message:e})}else c("received message with CRLF Keep Alive response")}function a(){var e,t=this;this.recover_attempts+=1,(e=Math.floor(Math.random()*Math.pow(2,this.recover_attempts)+1))<this.recovery_options.min_interval?e=this.recovery_options.min_interval:e>this.recovery_options.max_interval&&(e=this.recovery_options.max_interval),c("reconnection attempt: "+this.recover_attempts+". next connection attempt in "+e+" seconds"),this.recovery_timer=setTimeout(function(){t.close_requested||t.isConnected()||t.isConnecting()||(l.call(t),t.connect())},1e3*e)}function l(){var e=[];if(this.sockets.forEach(function(t){t.status!==h.SOCKET_STATUS_ERROR&&(0===e.length?e.push(t):t.weight>e[0].weight?e=[t]:t.weight===e[0].weight&&e.push(t))}),0===e.length)return this.sockets.forEach(function(e){e.status=h.SOCKET_STATUS_READY}),void l.call(this);var t=Math.floor(Math.random()*e.length);this.socket=e[t].socket}t.exports=r;var u=e("./Socket"),c=e("debug")("JsSIP:Transport"),d=e("debug")("JsSIP:ERROR:Transport"),h={STATUS_CONNECTED:0,STATUS_CONNECTING:1,STATUS_DISCONNECTED:2,SOCKET_STATUS_READY:0,SOCKET_STATUS_ERROR:1,recovery_options:{min_interval:2,max_interval:30}};r.prototype.connect=function(){c("connect()"),this.isConnected()?c("Transport is already connected"):this.isConnecting()?c("Transport is connecting"):(this.close_requested=!1,this.status=h.STATUS_CONNECTING,this.onconnecting({socket:this.socket,attempts:this.recover_attempts}),this.close_requested||(this.socket.onconnect=s.bind(this),this.socket.ondisconnect=i.bind(this),this.socket.ondata=o.bind(this),this.socket.connect()))},r.prototype.disconnect=function(){c("close()"),this.close_requested=!0,this.recover_attempts=0,this.status=h.STATUS_DISCONNECTED,null!==this.recovery_timer&&(clearTimeout(this.recovery_timer),this.recovery_timer=null),this.socket.onconnect=function(){},this.socket.ondisconnect=function(){},this.socket.ondata=function(){},this.socket.disconnect(),this.ondisconnect()},r.prototype.send=function(e){if(c("send()"),!this.isConnected())return d("unable to send message, transport is not connected"),!1;var t=e.toString();return c("sending message:\n\n"+t+"\n"),this.socket.send(t)},r.prototype.isConnected=function(){return this.status===h.STATUS_CONNECTED},r.prototype.isConnecting=function(){return this.status===h.STATUS_CONNECTING}},{"./Socket":20,debug:29}],24:[function(e,t,n){function r(e){if(d("new() [configuration:%o]",e),this.cache={credentials:{}},this.configuration={},this.dynConfiguration={},this.dialogs={},this.applicants={},this.sessions={},this.transport=null,this.contact=null,this.status=l.STATUS_INIT,this.error=null,this.transactions={nist:{},nict:{},ist:{},ict:{}},this.data={},this.closeTimer=null,Object.defineProperties(this,{transactionsCount:{get:function(){var e,t=["nist","nict","ist","ict"],n=0;for(e in t)n+=Object.keys(this.transactions[t[e]]).length;return n}},nictTransactionsCount:{get:function(){return Object.keys(this.transactions.nict).length}},nistTransactionsCount:{get:function(){return Object.keys(this.transactions.nist).length}},ictTransactionsCount:{get:function(){return Object.keys(this.transactions.ict).length}},istTransactionsCount:{get:function(){return Object.keys(this.transactions.ist).length}}}),void 0===e)throw new TypeError("Not enough arguments");try{this.loadConfig(e)}catch(e){throw this.status=l.STATUS_NOT_READY,this.error=l.CONFIGURATION_ERROR,e}this._registrator=new f(this),c.EventEmitter.call(this)}function s(e){this.emit("connecting",e)}function i(e){this.status!==l.STATUS_USER_CLOSED&&(this.status=l.STATUS_READY,this.error=null,this.emit("connected",e),this.dynConfiguration.register&&this._registrator.register())}function o(e){var t,n,r,s=["nict","ict","nist","ist"];for(r=s.length,t=0;t<r;t++)for(n in this.transactions[s[t]])this.transactions[s[t]][n].onTransportError();
1this.emit("disconnected",e),this._registrator.onTransportClosed(),this.status!==l.STATUS_USER_CLOSED&&(this.status=l.STATUS_NOT_READY,this.error=l.NETWORK_ERROR)}function a(e){var t,n=e.transport,s=e.message;if((s=A.parseMessage(s,this))&&!(this.status===r.C.STATUS_USER_CLOSED&&s instanceof R.IncomingRequest)&&b(s,this,n))if(s instanceof R.IncomingRequest)s.transport=n,this.receiveRequest(s);else if(s instanceof R.IncomingResponse)switch(s.method){case p.INVITE:(t=this.transactions.ict[s.via_branch])&&t.receiveResponse(s);break;case p.ACK:break;default:(t=this.transactions.nict[s.via_branch])&&t.receiveResponse(s)}}t.exports=r;var l={STATUS_INIT:0,STATUS_READY:1,STATUS_USER_CLOSED:2,STATUS_NOT_READY:3,CONFIGURATION_ERROR:1,NETWORK_ERROR:2};r.C=l;var u=e("util"),c=e("events"),d=e("debug")("JsSIP:UA"),h=e("debug")("JsSIP:ERROR:UA");h.log=console.warn.bind(console);var p=e("./Constants"),f=e("./Registrator"),m=e("./RTCSession"),g=e("./Message"),v=e("./Transactions"),T=e("./Transport"),_=e("./Socket"),C=e("./Utils"),S=e("./Exceptions"),E=e("./URI"),y=e("./Grammar"),A=e("./Parser"),R=e("./SIPMessage"),b=e("./sanityCheck");u.inherits(r,c.EventEmitter),r.prototype.start=function(){d("start()"),this.status===l.STATUS_INIT?this.transport.connect():this.status===l.STATUS_USER_CLOSED?(d("restarting UA"),null!==this.closeTimer&&(clearTimeout(this.closeTimer),this.closeTimer=null,this.transport.disconnect()),this.status=l.STATUS_INIT,this.transport.connect()):d(this.status===l.STATUS_READY?"UA is in READY status, not restarted":"ERROR: connection is down, Auto-Recovery system is trying to reconnect"),this.dynConfiguration.register=this.configuration.register},r.prototype.register=function(){d("register()"),this.dynConfiguration.register=!0,this._registrator.register()},r.prototype.unregister=function(e){d("unregister()"),this.dynConfiguration.register=!1,this._registrator.unregister(e)},r.prototype.registrator=function(){return this._registrator},r.prototype.isRegistered=function(){return!!this._registrator.registered},r.prototype.isConnected=function(){return this.transport.isConnected()},r.prototype.call=function(e,t){d("call()");var n;return(n=new m(this)).connect(e,t),n},r.prototype.sendMessage=function(e,t,n){d("sendMessage()");var r;
1return(r=new g(this)).send(e,t,n),r},r.prototype.terminateSessions=function(e){d("terminateSessions()");for(var t in this.sessions)this.sessions[t].isEnded()||this.sessions[t].terminate(e)},r.prototype.stop=function(){d("stop()");var e,t,n,r=this;if(this.dynConfiguration={},this.status!==l.STATUS_USER_CLOSED){this._registrator.close(),n=Object.keys(this.sessions).length;for(e in this.sessions){d("closing session "+e);try{this.sessions[e].terminate()}catch(e){}}for(t in this.applicants)try{this.applicants[t].close()}catch(e){}this.status=l.STATUS_USER_CLOSED,0===this.nistTransactionsCount&&0===this.nictTransactionsCount&&0===this.ictTransactionsCount&&0===this.istTransactionsCount&&0===n?r.transport.disconnect():this.closeTimer=setTimeout(function(){r.closeTimer=null,r.transport.disconnect()},2e3)}else d("UA already closed")},r.prototype.normalizeTarget=function(e){return C.normalizeTarget(e,this.configuration.hostport_params)},r.prototype.get=function(e){switch(e){case"realm":return this.configuration.realm;case"ha1":return this.configuration.ha1;default:return void h('get() | cannot get "%s" parameter in runtime',e)}return!0},r.prototype.set=function(e,t){switch(e){case"password":this.configuration.password=String(t);break;case"realm":this.configuration.realm=String(t);break;case"ha1":this.configuration.ha1=String(t),this.configuration.password=null;break;case"display_name":if(-1===y.parse('"'+t+'"',"display_name"))return h('set() | wrong "display_name"'),!1;this.configuration.display_name=t;break;default:return h('set() | cannot set "%s" parameter in runtime',e),!1}return!0},r.prototype.newTransaction=function(e){this.transactions[e.type][e.id]=e,this.emit("newTransaction",{transaction:e})},r.prototype.destroyTransaction=function(e){delete this.transactions[e.type][e.id],this.emit("transactionDestroyed",{transaction:e})},r.prototype.newMessage=function(e){this.emit("newMessage",e)},r.prototype.newRTCSession=function(e){this.emit("newRTCSession",e)},r.prototype.registered=function(e){this.emit("registered",e)},r.prototype.unregistered=function(e){this.emit("unregistered",e)},r.prototype.registrationFailed=function(e){this.emit("registrationFailed",e)},r.prototype.receiveRequest=function(e){var t,n,r,s=e.method;if(e.ruri.user!==this.configuration.uri.user&&e.ruri.user!==this.contact.uri.user)return d("Request-URI does not point to us"),void(e.method!==p.ACK&&e.reply_sl(404));if(e.ruri.scheme!==p.SIPS){if(!v.checkTransaction(this,e)){if(s===p.INVITE?new v.InviteServerTransaction(e,this):s!==p.ACK&&s!==p.CANCEL&&new v.NonInviteServerTransaction(e,this),s===p.OPTIONS)e.reply(200);else if(s===p.MESSAGE){if(0===this.listeners("newMessage").length)return void e.reply(405);new g(this).init_incoming(e)}else if(s===p.INVITE&&!e.to_tag&&0===this.listeners("newRTCSession").length)return void e.reply(405);if(e.to_tag)(t=this.findDialog(e.call_id,e.from_tag,e.to_tag))?t.receiveRequest(e):s===p.NOTIFY?(n=this.findSession(e))?n.receiveRequest(e):(d("received NOTIFY request for a non existent subscription"),e.reply(481,"Subscription does not exist")):s!==p.ACK&&e.reply(481);else switch(s){case p.INVITE:window.RTCPeerConnection?e.hasHeader("replaces")?(r=e.replaces,(t=this.findDialog(r.call_id,r.from_tag,r.to_tag))?(n=t.owner).isEnded()?e.reply(603):n.receiveRequest(e):e.reply(481)):(n=new m(this)).init_incoming(e):(h("INVITE received but WebRTC is not supported"),e.reply(488));break;case p.BYE:e.reply(481);break;case p.CANCEL:(n=this.findSession(e))?n.receiveRequest(e):d("received CANCEL request for a non existent session");break;case p.ACK:break;default:e.reply(405)}}}else e.reply_sl(416)},r.prototype.findSession=function(e){var t=e.call_id+e.from_tag,n=this.sessions[t],r=e.call_id+e.to_tag,s=this.sessions[r];return n||s||null},r.prototype.findDialog=function(e,t,n){var r=e+t+n,s=this.dialogs[r];return s||(r=e+n+t,(s=this.dialogs[r])||null)},r.prototype.loadConfig=function(e){var t,n,l,u,c,p={via_host:C.createRandomToken(12)+".invalid",contact_uri:null,password:null,realm:null,ha1:null,register_expires:600,register:!0,registrar_server:null,use_preloaded_route:!1,no_answer_timeout:60,session_timers:!0};for(t in r.configuration_check.mandatory){if(!e.hasOwnProperty(t))throw new S.ConfigurationError(t);if(n=e[t],void 0===(l=r.configuration_check.mandatory[t].call(this,n)))throw new S.ConfigurationError(t,n);p[t]=l}for(t in r.configuration_check.optional)if(e.hasOwnProperty(t)){if(n=e[t],C.isEmpty(n))continue;if(void 0===(l=r.configuration_check.optional[t].call(this,n,e)))throw new S.ConfigurationError(t,n);p[t]=l}0===p.display_name&&(p.display_name="0"),p.instance_id||(p.instance_id=C.newUUID()),p.jssip_id=C.createRandomToken(5),(u=p.uri.clone()).user=null,p.hostport_params=u.toString().replace(/^sip:/i,"");var f=[];if(p.sockets&&Array.isArray(p.sockets)&&(f=f.concat(p.sockets)),0===f.length)throw new S.ConfigurationError("sockets");try{this.transport=new T(f,{max_interval:p.connection_recovery_max_interval,min_interval:p.connection_recovery_min_interval}),this.transport.onconnecting=s.bind(this),this.transport.onconnect=i.bind(this),this.transport.ondisconnect=o.bind(this),this.transport.ondata=a.bind(this),delete p.connection_recovery_max_interval,delete p.connection_recovery_min_interval,delete p.sockets}catch(e){throw h(e),new S.ConfigurationError("sockets",f)}p.authorization_user||(p.authorization_user=p.uri.user),p.registrar_server||((c=p.uri.clone()).user=null,c.clearParams(),c.clearHeaders(),p.registrar_server=c),p.no_answer_timeout=1e3*p.no_answer_timeout,p.contact_uri?p.via_host=p.contact_uri.host:p.contact_uri=new E("sip",C.createRandomToken(8),p.via_host,null,{transport:"ws"}),this.contact={pub_gruu:null,temp_gruu:null,uri:p.contact_uri,toString:function(e){var t=(e=e||{}).anonymous||null,n=e.outbound||null,r="<";return r+=t?this.temp_gruu||"sip:[email protected];transport=ws":this.pub_gruu||this.uri.toString(),!n||(t?this.temp_gruu:this.pub_gruu)||(r+=";ob"),r+=">"}};for(t in p)r.configuration_skeleton[t].value=p[t];Object.defineProperties(this.configuration,r.configuration_skeleton);for(t in p)r.configuration_skeleton[t].value="";d("configuration parameters after validation:");for(t in p)switch(t){case"uri":case"registrar_server":d("- "+t+": "+p[t]);break;case"password":case"ha1":d("- "+t+": NOT SHOWN");break;default:d("- "+t+": "+JSON.stringify(p[t]))}},r.configuration_skeleton=function(){var e,t,n,r={},s=["jssip_id","hostport_params","uri","authorization_user","contact_uri","display_name","instance_id","no_answer_timeout","session_timers","password","realm","ha1","register_expires","registrar_server","sockets","use_preloaded_route","via_core_value","via_host"],i=["password","realm","ha1","display_name"];for(e in s)t=s[e],n=-1!==i.indexOf(t),r[t]={value:"",writable:n,configurable:!1};return r.register={value:"",writable:!0,configurable:!1},r}(),r.configuration_check={mandatory:{uri:function(e){var t;return/^sip:/i.test(e)||(e=p.SIP+":"+e),(t=E.parse(e))&&t.user?t:void 0}},optional:{authorization_user:function(e){return-1===y.parse('"'+e+'"',"quoted_string")?void 0:e},connection_recovery_max_interval:function(e){var t;if(C.isDecimal(e)&&(t=Number(e))>0)return t},connection_recovery_min_interval:function(e){var t;if(C.isDecimal(e)&&(t=Number(e))>0)return t},contact_uri:function(e){if("string"==typeof e){var t=y.parse(e,"SIP_URI");if(-1!==t)return t}},display_name:function(e){return-1===y.parse('"'+e+'"',"display_name")?void 0:e},instance_id:function(e){return/^uuid:/i.test(e)&&(e=e.substr(5)),-1===y.parse(e,"uuid")?void 0:e},no_answer_timeout:function(e){var t;if(C.isDecimal(e)&&(t=Number(e))>0)return t},session_timers:function(e){if("boolean"==typeof e)return e},password:function(e){return String(e)},realm:function(e){return String(e)},ha1:function(e){return String(e)},register:function(e){if("boolean"==typeof e)return e},register_expires:function(e){var t;if(C.isDecimal(e)&&(t=Number(e))>0)return t},registrar_server:function(e){var t;return/^sip:/i.test(e)||(e=p.SIP+":"+e),(t=E.parse(e))?t.user?void 0:t:void 0},sockets:function(e){var t,n;if(_.isSocket(e))e=[{socket:e}];else{if(!Array.isArray(e)||!e.length)return;for(n=e.length,t=0;t<n;t++)_.isSocket(e[t])&&(e[t]={socket:e[t]}
1)}return e},use_preloaded_route:function(e){if("boolean"==typeof e)return e}}}},{"./Constants":1,"./Exceptions":5,"./Grammar":6,"./Message":8,"./Parser":10,"./RTCSession":11,"./Registrator":17,"./SIPMessage":19,"./Socket":20,"./Transactions":22,"./Transport":23,"./URI":25,"./Utils":26,"./sanityCheck":28,debug:29,events:31,util:41}],25:[function(e,t,n){function r(e,t,n,r,i,o){var a,l;if(!n)throw new TypeError('missing or invalid "host" parameter');e=e||s.SIP,this.parameters={},this.headers={};for(a in i)this.setParam(a,i[a]);for(l in o)this.setHeader(l,o[l]);Object.defineProperties(this,{scheme:{get:function(){return e},set:function(t){e=t.toLowerCase()}},user:{get:function(){return t},set:function(e){t=e}},host:{get:function(){return n},set:function(e){n=e.toLowerCase()}},port:{get:function(){return r},set:function(e){r=0===e?e:parseInt(e,10)||null}}})}t.exports=r;var s=e("./Constants"),i=e("./Utils"),o=e("./Grammar");r.prototype={setParam:function(e,t){e&&(this.parameters[e.toLowerCase()]=void 0===t||null===t?null:t.toString())},getParam:function(e){if(e)return this.parameters[e.toLowerCase()]},hasParam:function(e){if(e)return this.parameters.hasOwnProperty(e.toLowerCase())&&!0||!1},deleteParam:function(e){var t;if(e=e.toLowerCase(),this.parameters.hasOwnProperty(e))return t=this.parameters[e],delete this.parameters[e],t},clearParams:function(){this.parameters={}},setHeader:function(e,t){this.headers[i.headerize(e)]=Array.isArray(t)?t:[t]},getHeader:function(e){if(e)return this.headers[i.headerize(e)]},hasHeader:function(e){if(e)return this.headers.hasOwnProperty(i.headerize(e))&&!0||!1},deleteHeader:function(e){var t;if(e=i.headerize(e),this.headers.hasOwnProperty(e))return t=this.headers[e],delete this.headers[e],t},clearHeaders:function(){this.headers={}},clone:function(){return new r(this.scheme,this.user,this.host,this.port,JSON.parse(JSON.stringify(this.parameters)),JSON.parse(JSON.stringify(this.headers)))},toString:function(){var e,t,n,r,s=[];r=this.scheme+":",this.user&&(r+=i.escapeUser(this.user)+"@"),r+=this.host,(this.port||0===this.port)&&(r+=":"+this.port);for(t in this.parameters)r+=";"+t,null!==this.parameters[t]&&(r+="="+this.parameters[t]);for(e in this.headers)for(n=0;n<this.headers[e].length;n++)s.push(e+"="+this.headers[e][n]);return s.length>0&&(r+="?"+s.join("&")),r},toAor:function(e){var t;return t=this.scheme+":",this.user&&(t+=i.escapeUser(this.user)+"@"),t+=this.host,e&&(this.port||0===this.port)&&(t+=":"+this.port),t}},r.parse=function(e){return-1!==(e=o.parse(e,"SIP_URI"))?e:void 0}},{"./Constants":1,"./Grammar":6,"./Utils":26}],26:[function(e,t,n){var r={};t.exports=r;var s=e("./Constants"),i=e("./URI"),o=e("./Grammar");r.str_utf8_length=function(e){return unescape(encodeURIComponent(e)).length},r.isFunction=function(e){return void 0!==e&&"[object Function]"===Object.prototype.toString.call(e)},r.isString=function(e){return void 0!==e&&"[object String]"===Object.prototype.toString.call(e)},r.isDecimal=function(e){return!isNaN(e)&&parseFloat(e)===parseInt(e,10)},r.isEmpty=function(e){if(null===e||""===e||void 0===e||Array.isArray(e)&&0===e.length||"number"==typeof e&&isNaN(e))return!0},r.hasMethods=function(e){for(var t,n=1;t=arguments[n++];)if(this.isFunction(e[t]))return!1;return!0},r.createRandomToken=function(e,t){var n,r="";for(t=t||32,n=0;n<e;n++)r+=(Math.random()*t|0).toString(t);return r},r.newTag=function(){return r.createRandomToken(10)},r.newUUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},r.hostType=function(e){if(e)return-1!==(e=o.parse(e,"host"))?e.host_type:void 0},r.normalizeTarget=function(e,t){var n,o,a,l;if(e){if(e instanceof i)return e;if("string"==typeof e){switch((o=e.split("@")).length){case 1:if(!t)return;a=e,l=t;break;case 2:a=o[0],l=o[1];break;default:a=o.slice(0,o.length-1).join("@"),l=o[o.length-1]}return a=a.replace(/^(sips?|tel):/i,""),/^[\-\.\(\)]*\+?[0-9\-\.\(\)]+$/.test(a)&&(a=a.replace(/[\-\.\(\)]/g,"")),e=s.SIP+":"+r.escapeUser(a)+"@"+l,(n=i.parse(e))?n:void 0}}},r.escapeUser=function(e){return encodeURIComponent(decodeURIComponent(e)).replace(/%3A/gi,":").replace(/%2B/gi,"+").replace(/%3F/gi,"?").replace(/%2F/gi,"/")},r.headerize=function(e){var t,n={"Call-Id":"Call-ID",Cseq:"CSeq","Www-Authenticate":"WWW-Authenticate"},r=e.toLowerCase().replace(/_/g,"-").split("-"),s="",i=r.length;for(t=0;t<i;t++)0!==t&&(s+="-"),s+=r[t].charAt(0).toUpperCase()+r[t].substring(1);return n[s]&&(s=n[s]),s},r.sipErrorCause=function(e){var t;for(t in s.SIP_ERROR_CAUSES)if(-1!==s.SIP_ERROR_CAUSES[t].indexOf(e))return s.causes[t];return s.causes.SIP_FAILURE_CODE},r.getRandomTestNetIP=function(){return"192.0.2."+Math.floor(254*Math.random()+1)},r.calculateMD5=function(e){function t(e,t){return e<<t|e>>>32-t}function n(e,t){var n,r,s,i,o;return s=2147483648&e,i=2147483648&t,n=1073741824&e,r=1073741824&t,o=(1073741823&e)+(1073741823&t),n&r?2147483648^o^s^i:n|r?1073741824&o?3221225472^o^s^i:1073741824^o^s^i:o^s^i}function r(e,t,n){return e&t|~e&n}function s(e,t,n){return e&n|t&~n}function i(e,t,n){return e^t^n}function o(e,t,n){return t^(e|~n)}function a(e,s,i,o,a,l,u){return e=n(e,n(n(r(s,i,o),a),u)),n(t(e,l),s)}function l(e,r,i,o,a,l,u){return e=n(e,n(n(s(r,i,o),a),u)),n(t(e,l),r)}function u(e,r,s,o,a,l,u){return e=n(e,n(n(i(r,s,o),a),u)),n(t(e,l),r)}function c(e,r,s,i,a,l,u){return e=n(e,n(n(o(r,s,i),a),u)),n(t(e,l),r)}function d(e){var t,n="",r="";for(t=0;t<=3;t++)n+=(r="0"+(e>>>8*t&255).toString(16)).substr(r.length-2,2);return n}var h,p,f,m,g,v,T,_,C,S=[];for(S=function(e){for(var t,n=e.length,r=n+8,s=16*((r-r%64)/64+1),i=new Array(s-1),o=0,a=0;a<n;)o=a%4*8,i[t=(a-a%4)/4]=i[t]|e.charCodeAt(a)<<o,a++;return t=(a-a%4)/4,o=a%4*8,i[t]=i[t]|128<<o,i[s-2]=n<<3,i[s-1]=n>>>29,i}(e=function(e){e=e.replace(/\r\n/g,"\n");for(var t="",n=0;n<e.length;n++){var r=e.charCodeAt(n);r<128?t+=String.fromCharCode(r):r>127&&r<2048?(t+=String.fromCharCode(r>>6|192),t+=String.fromCharCode(63&r|128)):(t+=String.fromCharCode(r>>12|224),t+=String.fromCharCode(r>>6&63|128),t+=String.fromCharCode(63&r|128))}return t}(e)),v=1732584193,T=4023233417,_=2562383102,C=271733878,h=0;h<S.length;h+=16)p=v,f=T,m=_,g=C,T=c(T=c(T=c(T=c(T=u(T=u(T=u(T=u(T=l(T=l(T=l(T=l(T=a(T=a(T=a(T=a(T,_=a(_,C=a(C,v=a(v,T,_,C,S[h+0],7,3614090360),T,_,S[h+1],12,3905402710),v,T,S[h+2],17,606105819),C,v,S[h+3],22,3250441966),_=a(_,C=a(C,v=a(v,T,_,C,S[h+4],7,4118548399),T,_,S[h+5],12,1200080426),v,T,S[h+6],17,2821735955),C,v,S[h+7],22,4249261313),_=a(_,C=a(C,v=a(v,T,_,C,S[h+8],7,1770035416),T,_,S[h+9],12,2336552879),v,T,S[h+10],17,4294925233),C,v,S[h+11],22,2304563134),_=a(_,C=a(C,v=a(v,T,_,C,S[h+12],7,1804603682),T,_,S[h+13],12,4254626195),v,T,S[h+14],17,2792965006),C,v,S[h+15],22,1236535329),_=l(_,C=l(C,v=l(v,T,_,C,S[h+1],5,4129170786),T,_,S[h+6],9,3225465664),v,T,S[h+11],14,643717713),C,v,S[h+0],20,3921069994),_=l(_,C=l(C,v=l(v,T,_,C,S[h+5],5,3593408605),T,_,S[h+10],9,38016083),v,T,S[h+15],14,3634488961),C,v,S[h+4],20,3889429448),_=l(_,C=l(C,v=l(v,T,_,C,S[h+9],5,568446438),T,_,S[h+14],9,3275163606),v,T,S[h+3],14,4107603335),C,v,S[h+8],20,1163531501),_=l(_,C=l(C,v=l(v,T,_,C,S[h+13],5,2850285829),T,_,S[h+2],9,4243563512),v,T,S[h+7],14,1735328473),C,v,S[h+12],20,2368359562),_=u(_,C=u(C,v=u(v,T,_,C,S[h+5],4,4294588738),T,_,S[h+8],11,2272392833),v,T,S[h+11],16,1839030562),C,v,S[h+14],23,4259657740),_=u(_,C=u(C,v=u(v,T,_,C,S[h+1],4,2763975236),T,_,S[h+4],11,1272893353),v,T,S[h+7],16,4139469664),C,v,S[h+10],23,3200236656),_=u(_,C=u(C,v=u(v,T,_,C,S[h+13],4,681279174),T,_,S[h+0],11,3936430074),v,T,S[h+3],16,3572445317),C,v,S[h+6],23,76029189),_=u(_,C=u(C,v=u(v,T,_,C,S[h+9],4,3654602809),T,_,S[h+12],11,3873151461),v,T,S[h+15],16,530742520),C,v,S[h+2],23,3299628645),_=c(_,C=c(C,v=c(v,T,_,C,S[h+0],6,4096336452),T,_,S[h+7],10,1126891415),v,T,S[h+14],15,2878612391),C,v,S[h+5],21,4237533241),_=c(_,C=c(C,v=c(v,T,_,C,S[h+12],6,1700485571),T,_,S[h+3],10,2399980690),v,T,S[h+10],15,4293915773),C,v,S[h+1],21,2240044497),_=c(_,C=c(C,v=c(v,T,_,C,S[h+8],6,1873313359),T,_,S[h+15],10,4264355552),v,T,S[h+6],15,2734768916),C,v,S[h+13],21,1309151649),_=c(_,C=c(C,v=c(v,T,_,C,S[h+4],6,4149444226),T,_,S[h+11],10,3174756917),v,T,S[h+2],15,718787259),C,v,S[h+9],21,3951481745),v=n(v,p),T=n(T,f),_=n(_,m),C=n(C,g);return(d(v)+d(T)+d(_)+d(C)).toLowerCase()},r.closeMediaStream=function(e){if(e)try{var t,n,r;if(e.getTracks)for(n=0,r=(t=e.getTracks()).length;n<r;n+=1)t[n].stop();else{for(n=0,r=(t=e.getAudioTracks()).length;n<r;n+=1)t[n].stop();for(n=0,r=(t=e.getVideoTracks()).length;n<r;n+=1)t[n].stop()}}catch(t){"function"!=typeof e.stop&&"object"!=typeof e.stop||e.stop()}}},{"./Constants":1,"./Grammar":6,"./URI":25}],27:[function(e,t,n){function r(e){u('new() [url:"%s"]',e);var t=null,n=null;this.ws=null,Object.defineProperties(this,{via_transport:{get:function(){return n},set:function(e){n=e.toUpperCase()}},sip_uri:{get:function(){return t}},url:{get:function(){return e}}});var r=l.parse(e,"absoluteURI");if(-1===r)throw c("invalid WebSocket URI: "+e),new TypeError("Invalid argument: "+e);if("wss"!==r.scheme&&"ws"!==r.scheme)throw c("invalid WebSocket URI scheme: "+r.scheme),new TypeError("Invalid argument: "+e);t="sip:"+r.host+(r.port?":"+r.port:"")+";transport=ws",this.via_transport=r.scheme}function s(){u("WebSocket "+this.url+" connected"),this.onconnect()}function i(e){u("WebSocket "+this.url+" closed"),!1===e.wasClean&&u("WebSocket abrupt disconnection");var t={socket:this,error:!e.wasClean,code:e.code,reason:e.reason};this.ondisconnect(t)}function o(e){u("received WebSocket message"),this.ondata(e.data)}function a(e){c("WebSocket "+this.url+" error: "+e)}t.exports=r;var l=e("./Grammar"),u=e("debug")("JsSIP:WebSocketInterface"),c=e("debug")("JsSIP:ERROR:WebSocketInterface");c.log=console.warn.bind(console),r.prototype.connect=function(){if(u("connect()"),this.isConnected())u("WebSocket "+this.url+" is already connected");else if(this.isConnecting())u("WebSocket "+this.url+" is connecting");else{this.ws&&this.disconnect(),u("connecting to WebSocket "+this.url);try{this.ws=new WebSocket(this.url,"sip"),this.ws.binaryType="arraybuffer",this.ws.onopen=s.bind(this),this.ws.onclose
1=i.bind(this),this.ws.onmessage=o.bind(this),this.ws.onerror=a.bind(this)}catch(e){a.call(this,e)}}},r.prototype.disconnect=function(){u("disconnect()"),this.ws&&(this.ws.onopen=function(){},this.ws.onclose=function(){},this.ws.onmessage=function(){},this.ws.onerror=function(){},this.ws.close(),this.ws=null)},r.prototype.send=function(e){return u("send()"),this.isConnected()?(this.ws.send(e),!0):(c("unable to send message, WebSocket is not open"),!1)},r.prototype.isConnected=function(){return this.ws&&this.ws.readyState===this.ws.OPEN},r.prototype.isConnecting=function(){return this.ws&&this.ws.readyState===this.ws.CONNECTING}},{"./Grammar":6,debug:29}],28:[function(e,t,n){function r(e){var t,n="SIP/2.0 "+e+" "+l.REASON_PHRASE[e]+"\r\n",r=s.getHeaders("via"),i=r.length,a=0;for(a;a<i;a++)n+="Via: "+r[a]+"\r\n";t=s.getHeader("To"),s.to_tag||(t+=";tag="+c.newTag()),n+="To: "+t+"\r\n",n+="From: "+s.getHeader("From")+"\r\n",n+="Call-ID: "+s.call_id+"\r\n",n+="CSeq: "+s.cseq+" "+s.method+"\r\n",n+="\r\n",o.send(n)}t.exports=function(e,t,n){var r;for(s=e,i=t,o=n,r=p.length;r--;)if(!1===p[r](s))return!1;if(s instanceof u.IncomingRequest){for(r=d.length;r--;)if(!1===d[r](s))return!1}else if(s instanceof u.IncomingResponse)for(r=h.length;r--;)if(!1===h[r](s))return!1;return!0};var s,i,o,a=e("debug")("JsSIP:sanityCheck"),l=e("./Constants"),u=e("./SIPMessage"),c=e("./Utils"),d=[],h=[],p=[];d.push(function(){if("sip"!==s.s("to").uri.scheme)return r(416),!1}),d.push(function(){if(!s.to_tag&&s.call_id.substr(0,5)===i.configuration.jssip_id)return r(482),!1}),d.push(function(){if(c.str_utf8_length(s.body)<s.getHeader("content-length"))return r(400),!1}),d.push(function(){var e,t,n=s.from_tag,o=s.call_id,a=s.cseq;if(!s.to_tag)if(s.method===l.INVITE){if(i.transactions.ist[s.via_branch])return!1;for(t in i.transactions.ist)if((e=i.transactions.ist[t]).request.from_tag===n&&e.request.call_id===o&&e.request.cseq===a)return r(482),!1}else{if(i.transactions.nist[s.via_branch])return!1;for(t in i.transactions.nist)if((e=i.transactions.nist[t]).request.from_tag===n&&e.request.call_id===o&&e.request.cseq===a)return r(482),!1}}),h.push(function(){if(s.getHeaders("via").length>1)return a("more than one Via header field present in the response, dropping the response"),!1}),h.push(function(){if(c.str_utf8_length(s.body)<s.getHeader("content-length"))return a("message body length is lower than the value in Content-Length header field, dropping the response"),!1}),p.push(function(){for(var e=["from","to","call_id","cseq","via"],t=e.length;t--;)if(!s.hasHeader(e[t]))return a("missing mandatory header field : "+e[t]+", dropping the response"),!1})},{"./Constants":1,"./SIPMessage":19,"./Utils":26,debug:29}],29:[function(e,t,n){(function(r){function s(){var e;try{e=n.storage.debug}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=r.env.DEBUG),e}(n=t.exports=e("./debug")).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},n.formatArgs=function(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+n.humanize(this.diff),t){var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var s=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(s++,"%c"===e&&(i=s))}),e.splice(i,0,r)}},n.save=function(e){try{null==e?n.storage.removeItem("debug"):n.storage.debug=e}catch(e){}},n.load=s,n.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},n.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),n.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],n.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},n.enable(s())}).call(this,e("_process"))},{"./debug":30,_process:33}],30:[function(e,t,n){function r(e){var t,r=0;for(t in e)r=(r<<5)-r+e.charCodeAt(t),r|=0;return n.colors[Math.abs(r)%n.colors.length]}function s(e){function t(){if(t.enabled){var e=t,r=+new Date,s=r-(i||r);e.diff=s,e.prev=i,e.curr=r,i=r;for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];o[0]=n.coerce(o[0]),"string"!=typeof o[0]&&o.unshift("%O");var l=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,function(t,r){if("%%"===t)return t;l++;var s=n.formatters[r];if("function"==typeof s){var i=o[l];t=s.call(e,i),o.splice(l,1),l--}return t}),n.formatArgs.call(e,o),(t.log||n.log||console.log.bind(console)).apply(e,o)}}return t.namespace=e,t.enabled=n.enabled(e),t.useColors=n.useColors(),t.color=r(e),"function"==typeof n.init&&n.init(t),t}(n=t.exports=s.debug=s.default=s).coerce=function(e){return e instanceof Error?e.stack||e.message:e},n.disable=function(){n.enable("")},n.enable=function(e){n.save(e),n.names=[],n.skips=[];
1for(var t=("string"==typeof e?e:"").split(/[\s,]+/),r=t.length,s=0;s<r;s++)t[s]&&("-"===(e=t[s].replace(/\*/g,".*?"))[0]?n.skips.push(new RegExp("^"+e.substr(1)+"$")):n.names.push(new RegExp("^"+e+"$")))},n.enabled=function(e){var t,r;for(t=0,r=n.skips.length;t<r;t++)if(n.skips[t].test(e))return!1;for(t=0,r=n.names.length;t<r;t++)if(n.names[t].test(e))return!0;return!1},n.humanize=e("ms"),n.names=[],n.skips=[],n.formatters={};var i},{ms:32}],31:[function(e,t,n){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function s(e){return"function"==typeof e}function i(e){return"number"==typeof e}function o(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if(!i(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,n,r,i,l,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(n=this._events[e],a(n))return!1;if(s(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:i=Array.prototype.slice.call(arguments,1),n.apply(this,i)}else if(o(n))for(i=Array.prototype.slice.call(arguments,1),r=(u=n.slice()).length,l=0;l<r;l++)u[l].apply(this,i);return!0},r.prototype.addListener=function(e,t){var n;if(!s(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,s(t.listener)?t.listener:t),this._events[e]?o(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,o(this._events[e])&&!this._events[e].warned&&(n=a(this._maxListeners)?r.defaultMaxListeners:this._maxListeners)&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function n(){this.removeListener(e,n),r||(r=!0,t.apply(this,arguments))}if(!s(t))throw TypeError("listener must be a function");var r=!1;return n.listener=t,this.on(e,n),this},r.prototype.removeListener=function(e,t){var n,r,i,a;if(!s(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],i=n.length,r=-1,n===t||s(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(a=i;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){r=a;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],s(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){return this._events&&this._events[e]?s(this._events[e])?[this._events[e]]:this._events[e].slice():[]},r.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(s(t))return 1;if(t)return t.length}return 0},r.listenerCount=function(e,t){return e.listenerCount(t)}},{}],32:[function(e,t,n){function r(e){if(!((e=String(e)).length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*d;case"days":case"day":case"d":return n*c;case"hours":case"hour":case"hrs":case"hr":case"h":return n*u;case"minutes":case"minute":case"mins":case"min":case"m":return n*l;case"seconds":case"second":case"secs":case"sec":case"s":return n*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function s(e){return e>=c?Math.round(e/c)+"d":e>=u?Math.round(e/u)+"h":e>=l?Math.round(e/l)+"m":e>=a?Math.round(e/a)+"s":e+"ms"}function i(e){return o(e,c,"day")||o(e,u,"hour")||o(e,l,"minute")||o(e,a,"second")||e+" ms"}function o(e,t,n){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+n:Math.ceil(e/t)+" "+n+"s"}var a=1e3,l=60*a,u=60*l,c=24*u,d=365.25*c;t.exports=function(e,t){t=t||{};var n=typeof e;if("string"===n&&e.length>0)return r(e);if("number"===n&&!1===isNaN(e))return t.long?i(e):s(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},{}],33:[function(e,t,n){function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function i(e){if(d===setTimeout)return setTimeout(e,0);if((d===r||!d)&&setTimeout)return d=setTimeout,setTimeout(e,0);try{return d(e,0)}catch(t){try{return d.call(null,e,0)}catch(t){return d.call(this,e,0)}}}function o(e){if(h===clearTimeout)return clearTimeout(e);if((h===s||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch(t){try{return h.call(null,e)}catch(t){return h.call(this,e)}}}function a(){g&&f&&(g=!1,f.length?m=f.concat(m):v=-1,m.length&&l())}function l(){if(!g){var e=i(a);g=!0;for(var t=m.length;t;){for(f=m,m=[];++v<t;)f&&f[v].run();v=-1,t=m.length}f=null,g=!1,o(e)}}function u(e,t){this.fun=e,this.array=t}function c(){}var d,h,p=t.exports={};!function(){try{d="function"==typeof setTimeout?setTimeout:r}catch(e){d=r}try{h="function"==typeof clearTimeout?clearTimeout:s}
vendor: 4,826 bytes, line 1
1catch(e){h=s}}();var f,m=[],g=!1,v=-1;p.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];m.push(new u(e,t)),1!==m.length||g||i(l)},u.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(e){return[]},p.binding=function(e){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(e){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},{}],34:[function(e,t,n){var r=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w\/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-\.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%d trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))? (\S*)(?: (\S*))?/,names:["value","direction","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+" %s"+(e.config?" %s":"")}},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_\/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","max
1MessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{push:"invalid",names:["value"]}]};Object.keys(r).forEach(function(e){r[e].forEach(function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")})})},{}],35:[function(e,t,n){var r=e("./parser"),s=e("./writer");n.write=s,n.parse=r.parse,n.parseFmtpConfig=r.parseFmtpConfig,n.parseParams=r.parseParams,n.parsePayloads=r.parsePayloads,n.parseRemoteCandidates=r.parseRemoteCandidates,n.parseImageAttributes=r.parseImageAttributes,n.parseSimulcastStreamList=r.parseSimulcastStreamList},{"./parser":36,"./writer":37}],36:[function(e,t,n){var r=function(e){return String(Number(e))===e?Number(e):e},s=function(e,t,n,s){if(s&&!n)t[s]=r(e[1]);else for(var i=0;i<n.length;i+=1)null!=e[i+1]&&(t[n[i]]=r(e[i+1]))},i=function(e,t,n){var r=e.name&&e.names;e.push&&!t[e.push]?t[e.push]=[]:r&&!t[e.name]&&(t[e.name]={});var i=e.push?{}:r?t[e.name]:t;s(n.match(e.reg),i,e.names,e.name),e.push&&t[e.push].push(i)},o=e("./grammar"),a=RegExp.prototype.test.bind(/^([a-z])=(.*)/);n.parse=function(e){var t={},n=[],r=t;return e.split(/(\r\n|\r|\n)/).filter(a).forEach(function(e){var t=e[0],s=e.slice(2);"m"===t&&(n.push({rtp:[],fmtp:[]}),r=n[n.length-1]);for(var a=0;a<(o[t]||[]).length;a+=1){var l=o[t][a];if(l.reg.test(s))return i(l,r,s)}}),t.media=n,t};var l=function(e,t){var n=t.split(/=(.+)/,2);return 2===n.length&&(e[n[0]]=r(n[1])),e};n.parseParams=function(e){return e.split(/\;\s?/).reduce(l,{})},n.parseFmtpConfig=n.parseParams,n.parsePayloads=function(e){return e.split(" ").map(Number)},n.parseRemoteCandidates=function(e){for(var t=[],n=e.split(" ").map(r),s=0;s<n.length;s+=3)t.push({component:n[s],ip:n[s+1],port:n[s+2]});return t},n.parseImageAttributes=function(e){return e.split(" ").map(function(e){return e.substring(1,e.length-1).split(",").reduce(l,{})})},n.parseSimulcastStreamList=function(e){return e.split(";").map(function(e){return e.split(",").map(function(e){var t,n=!1;return"~"!==e[0]?t=r(e):(t=r(e.substring(1,e.length)),n=!0),{scid:t,paused:n}})})}},{"./grammar":34}],37:[function(e,t,n){var r=e("./grammar"),s=/%[sdv%]/g,i=function(e){var t=1,n=arguments,r=n.length;return e.replace(s,function(e){if(t>=r)return e;var s=n[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(s);case"%d":return Number(s);case"%v":return""}})},o=function(e,t,n){var r=[e+"="+(t.format instanceof Function?t.format(t.push?n:n[t.name]):t.format)];if(t.names)for(var s=0;s<t.names.length;s+=1){var o=t.names[s];t.name?r.push(n[t.name][o]):r.push(n[t.names[s]])}else r.push(n[t.name]);return i.apply(null,r)},a=["v","o","s","i","u","e","p","c","b","t","r","z","a"],l=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach(function(e){null==e.payloads&&(e.payloads="")});var n=t.outerOrder||a,s=t.innerOrder||l,i=[];return n.forEach(function(t){r[t].forEach(function(n){n.name in e&&null!=e[n.name]?i.push(o(t,n,e)):n.push in e&&null!=e[n.push]&&e[n.push].forEac
1h(function(e){i.push(o(t,n,e))})})}),e.media.forEach(function(e){i.push(o("m",r.m[0],e)),s.forEach(function(t){r[t].forEach(function(n){n.name in e&&null!=e[n.name]?i.push(o(t,n,e)):n.push in e&&null!=e[n.push]&&e[n.push].forEach(function(e){i.push(o(t,n,e))})})})}),i.join("\r\n")+"\r\n"}},{"./grammar":34}],38:[function(e,t,n){;;var r={};r.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},r.localCName=r.generateIdentifier(),r.splitLines=function(e){return e.trim().split("\n").map(function(e){return e.trim()})},r.splitSections=function(e){return e.split("\nm=").map(function(e,t){return(t>0?"m="+e:e).trim()+"\r\n"})},r.matchPrefix=function(e,t){return r.splitLines(e).filter(function(e){return 0===e.indexOf(t)})},r.parseCandidate=function(e){for(var t,n={foundation:(t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" "))[0],component:t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],port:parseInt(t[5],10),type:t[7]},r=8;r<t.length;r+=2)switch(t[r]){case"raddr":n.relatedAddress=t[r+1];break;case"rport":n.relatedPort=parseInt(t[r+1],10);break;case"tcptype":n.tcpType=t[r+1];break;default:n[t[r]]=t[r+1]}return n},r.writeCandidate=function(e){var t=[];t.push(e.foundation),t.push(e.component),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.ip),t.push(e.port);var n=e.type;return t.push("typ"),t.push(n),"host"!==n&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),"candidate:"+t.join(" ")},r.parseIceOptions=function(e){return e.substr(14).split(" ")},r.parseRtpMap=function(e){var t=e.substr(9).split(" "),n={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),n.name=t[0],n.clockRate=parseInt(t[1],10),n.numChannels=3===t.length?parseInt(t[2],10):1,n},r.writeRtpMap=function(e){var t=e.payloadType;return void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType),"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==e.numChannels?"/"+e.numChannels:"")+"\r\n"},r.parseExtmap=function(e){var t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}},r.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+"\r\n"},r.parseFmtp=function(e){for(var t,n={},r=e.substr(e.indexOf(" ")+1).split(";"),s=0;s<r.length;s++)n[(t=r[s].trim().split("="))[0].trim()]=t[1];return n},r.writeFmtp=function(e){var t="",n=e.payloadType;if(void 0!==e.preferredPayloadType&&(n=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){var r=[];Object.keys(e.parameters).forEach(function(t){r.push(t+"="+e.parameters[t])}),t+="a=fmtp:"+n+" "+r.join(";")+"\r\n"}return t},r.parseRtcpFb=function(e){var t=e.substr(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},r.writeRtcpFb=function(e){var t="",n=e.payloadType;return void 0!==e.preferredPayloadType&&(n=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(function(e){t+="a=rtcp-fb:"+n+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"}),t},r.parseSsrcMedia=function(e){var t=e.indexOf(" "),n={ssrc:parseInt(e.substr(7,t-7),10)},r=e.indexOf(":",t);return r>-1?(n.attribute=e.substr(t+1,r-t-1),n.value=e.substr(r+1)):n.attribute=e.substr(t+1),n},r.getMid=function(e){var t=r.matchPrefix(e,"a=mid:")[0];if(t)return t.substr(6)},r.parseFingerprint=function(e){var t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1]}},r.getDtlsParameters=function(e,t){return{role:"auto",fingerprints:r.matchPrefix(e+t,"a=fingerprint:").map(r.parseFingerprint)}},r.writeDtlsParameters=function(e,t){var n="a=setup:"+t+"\r\n";return e.fingerprints.forEach(function(e){n+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"}),n},r.getIceParameters=function(e,t){var n=r.splitLines(e);return{usernameFragment:(n=n.concat(r.splitLines(t))).filter(function(e){return 0===e.indexOf("a=ice-ufrag:")})[0].substr(12),password:n.filter(function(e){return 0===e.indexOf("a=ice-pwd:")})[0].substr(10)}},r.writeIceParameters=function(e){return"a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n"},r.parseRtpParameters=function(e){for(var t={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=r.splitLines(e)[0].split(" "),s=3;s<n.length;s++){var i=n[s],o=r.matchPrefix(e,"a=rtpmap:"+i+" ")[0];if(o){var a=r.parseRtpMap(o),l=r.matchPrefix(e,"a=fmtp:"+i+" ");switch(a.parameters=l.length?r.parseFmtp(l[0]):{},a.rtcpFeedback=r.matchPrefix(e,"a=rtcp-fb:"+i+" ").map(r.parseRtcpFb),t.codecs.push(a),a.name.toUpperCase()){case"RED":case"ULPFEC":t.fecMechanisms.push(a.name.toUpperCase())}}}return r.matchPrefix(e,"a=extmap:").forEach(function(e){t.headerExtensions.push(r.parseExtmap(e))}),t},r.writeRtpDescription=function(e,t){var n="";n+="m="+e+" ",n+=t.codecs.length>0?"9":"0",n+=" UDP/TLS/RTP/SAVPF ",n+=t.codecs.map(function(e){return void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType}).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",t.codecs.forEach(function(e){n+=r.writeRtpMap(e),n+=r.writeFmtp(e),n+=r.writeRtcpFb(e)});var s=0;return t.codecs.forEach(function(e){e.maxptime>s&&(s=e.maxptime)}),s>0&&(n+="a=maxptime:"+s+"\r\n"),n+="a=rtcp-mux\r\n",t.headerExtensions.forEach(function(e){n+=r.writeExtmap(e)}),n},r.parseRtpEncodingParameters=function(e){var t,n=[],s=r.parseRtpParameters(e),i=-1!==s.fecMechanisms.indexOf("RED"),o=-1!==s.fecMechanisms.indexOf("ULPFEC"),a=r.matchPrefix(e,"a=ssrc:").map(function(e){return r.parseSsrcMedia(e)}).filter(function(e){return"cname"===e.attribute}),l=a.length>0&&a[0].ssrc,u=r.matchPrefix(e,"a=ssrc-group:FID").map(function(e){var t=e.split(" ");return t.shift(),t.map(function(e){return parseInt(e,10)})});u.length>0&&u[0].length>1&&u[0][0]===l&&(t=u[0][1]),s.codecs.forEach(function(e){if("RTX"===e.name.toUpperCase()&&e.parameters.apt){var r={ssrc:l,codecPayloadType:parseInt(e.parameters.apt,10),rtx:{ssrc:t}};n.push(r),i&&((r=JSON.parse(JSON.stringify(r))).fec={ssrc:t,mechanism:o?"red+ulpfec":"red"},n.push(r))}}),0===n.length&&l&&n.push({ssrc:l});var c=r.matchPrefix(e,"b=");return c.length&&(0===c[0].indexOf("b=TIAS:")?c=parseInt(c[0].substr(7),10):0===c[0].indexOf("b=AS:")&&(c=parseInt(c[0].substr(5),10)),n.forEac
1h(function(e){e.maxBitrate=c})),n},r.parseRtcpParameters=function(e){var t={},n=r.matchPrefix(e,"a=ssrc:").map(function(e){return r.parseSsrcMedia(e)}).filter(function(e){return"cname"===e.attribute})[0];n&&(t.cname=n.value,t.ssrc=n.ssrc);var s=r.matchPrefix(e,"a=rtcp-rsize");t.reducedSize=s.length>0,t.compound=0===s.length;var i=r.matchPrefix(e,"a=rtcp-mux");return t.mux=i.length>0,t},r.parseMsid=function(e){var t,n=r.matchPrefix(e,"a=msid:");if(1===n.length)return t=n[0].substr(7).split(" "),{stream:t[0],track:t[1]};var s=r.matchPrefix(e,"a=ssrc:").map(function(e){return r.parseSsrcMedia(e)}).filter(function(e){return"msid"===e.attribute});return s.length>0?(t=s[0].value.split(" "),{stream:t[0],track:t[1]}):void 0},r.writeSessionBoilerplate=function(){return"v=0\r\no=thisisadapterortc 8169639915646943137 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},r.writeMediaSection=function(e,t,n,s){var i=r.writeRtpDescription(e.kind,t);if(i+=r.writeIceParameters(e.iceGatherer.getLocalParameters()),i+=r.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===n?"actpass":"active"),i+="a=mid:"+e.mid+"\r\n",e.direction?i+="a="+e.direction+"\r\n":e.rtpSender&&e.rtpReceiver?i+="a=sendrecv\r\n":e.rtpSender?i+="a=sendonly\r\n":e.rtpReceiver?i+="a=recvonly\r\n":i+="a=inactive\r\n",e.rtpSender){var o="msid:"+s.id+" "+e.rtpSender.track.id+"\r\n";i+="a="+o,i+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+o,e.sendEncodingParameters[0].rtx&&(i+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+o,i+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return i+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+r.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(i+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+r.localCName+"\r\n"),i},r.getDirection=function(e,t){for(var n=r.splitLines(e),s=0;s<n.length;s++)switch(n[s]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return n[s].substr(2)}return t?r.getDirection(t):"sendrecv"},r.getKind=function(e){return r.splitLines(e)[0].split(" ")[0].substr(2)},r.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.exports=r},{}],39:[function(e,t,n){"function"==typeof Object.create?t.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},{}],40:[function(e,t,n){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],41:[function(e,t,n){(function(t,r){function s(e,t){var r={seen:[],stylize:o};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),m(t)?r.showHidden=t:t&&n._extend(r,t),_(r.showHidden)&&(r.showHidden=!1),_(r.depth)&&(r.depth=2),_(r.colors)&&(r.colors=!1),_(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=i),l(r,e,r.depth)}function i(e,t){var n=s.styles[t];return n?"�["+s.colors[n][0]+"m"+e+"�["+s.colors[n][1]+"m":e}function o(e,t){return e}function a(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function l(e,t,r){if(e.customInspect&&t&&A(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var s=t.inspect(r,e);return T(s)||(s=l(e,s,r)),s}var i=u(e,t);if(i)return i;var o=Object.keys(t),m=a(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),y(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return c(t);if(0===o.length){if(A(t)){var g=t.name?": "+t.name:"";return e.stylize("[Function"+g+"]","special")}if(C(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(E(t))return e.stylize(Date.prototype.toString.call(t),"date");if(y(t))return c(t)}var v="",_=!1,S=["{","}"];if(f(t)&&(_=!0,S=["[","]"]),A(t)&&(v=" [Function"+(t.name?": "+t.name:"")+"]"),C(t)&&(v=" "+RegExp.prototype.toString.call(t)),E(t)&&(v=" "+Date.prototype.toUTCString.call(t)),y(t)&&(v=" "+c(t)),0===o.length&&(!_||0==t.length))return S[0]+v+S[1];if(r<0)return C(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var R;return R=_?d(e,t,r,m,o):o.map(function(n){return h(e,t,r,m,n,_)}),e.seen.pop(),p(R,v,S)}function u(e,t){if(_(t))return e.stylize("undefined","undefined");if(T(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return v(t)?e.stylize(""+t,"number"):m(t)?e.stylize(""+t,"boolean"):g(t)?e.stylize("null","null"):void 0}function c(e){return"["+Error.prototype.toString.call(e)+"]"}
1function d(e,t,n,r,s){for(var i=[],o=0,a=t.length;o<a;++o)I(t,String(o))?i.push(h(e,t,n,r,String(o),!0)):i.push("");return s.forEach(function(s){s.match(/^\d+$/)||i.push(h(e,t,n,r,s,!0))}),i}function h(e,t,n,r,s,i){var o,a,u;if((u=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(a=e.stylize("[Setter]","special")),I(r,s)||(o="["+s+"]"),a||(e.seen.indexOf(u.value)<0?(a=g(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(a=i?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),_(o)){if(i&&s.match(/^\d+$/))return a;(o=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function p(e,t,n){var r=0;return e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function f(e){return Array.isArray(e)}function m(e){return"boolean"==typeof e}function g(e){return null===e}function v(e){return"number"==typeof e}function T(e){return"string"==typeof e}function _(e){return void 0===e}function C(e){return S(e)&&"[object RegExp]"===R(e)}function S(e){return"object"==typeof e&&null!==e}function E(e){return S(e)&&"[object Date]"===R(e)}function y(e){return S(e)&&("[object Error]"===R(e)||e instanceof Error)}function A(e){return"function"==typeof e}function R(e){return Object.prototype.toString.call(e)}function b(e){return e<10?"0"+e.toString(10):e.toString(10)}function w(){var e=new Date,t=[b(e.getHours()),b(e.getMinutes()),b(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function I(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var O=/%[sdj%]/g;n.format=function(e){if(!T(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}for(var n=1,r=arguments,i=r.length,o=String(e).replace(O,function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),a=r[n];n<i;a=r[++n])g(a)||!S(a)?o+=" "+a:o+=" "+s(a);return o},n.deprecate=function(e,s){if(_(r.process))return function(){return n.deprecate(e,s).apply(this,arguments)};if(!0===t.noDeprecation)return e;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(s);t.traceDeprecation?console.trace(s):console.error(s),i=!0}return e.apply(this,arguments)}};var x,N={};n.debuglog=function(e){if(_(x)&&(x=t.env.NODE_DEBUG||""),e=e.toUpperCase(),!N[e])if(new RegExp("\\b"+e+"\\b","i").test(x)){var r=t.pid;N[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else N[e]=function(){};return N[e]},n.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=f,n.isBoolean=m,n.isNull=g,n.isNullOrUndefined=function(e){return null==e},n.isNumber=v,n.isString=T,n.isSymbol=function(e){return"symbol"==typeof e},n.isUndefined=_,n.isRegExp=C,n.isObject=S,n.isDate=E,n.isError=y,n.isFunction=A,n.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},n.isBuffer=e("./support/isBuffer");var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];n.log=function(){console.log("%s - %s",w(),n.format.apply(n,arguments))},n.inherits=e("inherits"),n._extend=function(e,t){if(!t||!S(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":40,_process:33,inherits:39}],42:[function(e,t,n){;;!function(){var n=e("./utils"),r=n.log,s=n.browserDetails;t.exports.browserDetails=s,t.exports.extractVersion=n.extractVersion,t.exp
1orts.disableLog=n.disableLog;var i=e("./chrome/chrome_shim")||null,o=e("./edge/edge_shim")||null,a=e("./firefox/firefox_shim")||null,l=e("./safari/safari_shim")||null;switch(s.browser){case"chrome":if(!i||!i.shimPeerConnection)return void r("Chrome shim is not included in this adapter release.");r("adapter.js shimming chrome."),t.exports.browserShim=i,i.shimGetUserMedia(),i.shimMediaStream(),n.shimCreateObjectURL(),i.shimSourceObject(),i.shimPeerConnection(),i.shimOnTrack(),i.shimGetSendersWithDtmf();break;case"firefox":if(!a||!a.shimPeerConnection)return void r("Firefox shim is not included in this adapter release.");r("adapter.js shimming firefox."),t.exports.browserShim=a,a.shimGetUserMedia(),n.shimCreateObjectURL(),a.shimSourceObject(),a.shimPeerConnection(),a.shimOnTrack();break;case"edge":if(!o||!o.shimPeerConnection)return void r("MS edge shim is not included in this adapter release.");r("adapter.js shimming edge."),t.exports.browserShim=o,o.shimGetUserMedia(),n.shimCreateObjectURL(),o.shimPeerConnection(),o.shimReplaceTrack();break;case"safari":if(!l)return void r("Safari shim is not included in this adapter release.");r("adapter.js shimming safari."),t.exports.browserShim=l,l.shimCallbacksAPI(),l.shimAddStream(),l.shimOnAddStream(),l.shimGetUserMedia();break;default:r("Unsupported browser!")}}()},{"./chrome/chrome_shim":43,"./edge/edge_shim":45,"./firefox/firefox_shim":48,"./safari/safari_shim":50,"./utils":51}],43:[function(e,t,n){;;var r=e("../utils.js").log,s=e("../utils.js").browserDetails,i={shimMediaStream:function(){window.MediaStream=window.MediaStream||window.webkitMediaStream},shimOnTrack:function(){"object"!=typeof window||!window.RTCPeerConnection||"ontrack"in window.RTCPeerConnection.prototype||Object.defineProperty(window.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(e){var t=this;this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=e),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.addEventListener("addtrack",function(n){var r;r=RTCPeerConnection.prototype.getReceivers?t.getReceivers().find(function(e){return e.track.id===n.track.id}):{track:n.track};var s=new Event("track");s.track=n.track,s.receiver=r,s.streams=[e.stream],t.dispatchEvent(s)}),e.stream.getTracks().forEach(function(n){var r;r=RTCPeerConnection.prototype.getReceivers?t.getReceivers().find(function(e){return e.track.id===n.id}):{track:n};var s=new Event("track");s.track=n,s.receiver=r,s.streams=[e.stream],this.dispatchEvent(s)}.bind(this))}.bind(this))}})},shimGetSendersWithDtmf:function(){if("object"==typeof window&&window.RTCPeerConnection&&!("getSenders"in RTCPeerConnection.prototype)&&"createDTMFSender"in RTCPeerConnection.prototype){RTCPeerConnection.prototype.getSenders=function(){return this._senders||[]};var e=RTCPeerConnection.prototype.addStream,t=RTCPeerConnection.prototype.removeStream;RTCPeerConnection.prototype.addTrack||(RTCPeerConnection.prototype.addTrack=function(e,t){var n=this;if("closed"===n.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var r=[].slice.call(arguments,1);if(1!==r.length||!r[0].getTracks().find(function(t){return t===e}))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(n._senders=n._senders||[],n._senders.find(function(t){return t.track===e}))throw new DOMException("Track already exists.","InvalidAccessError");n._streams=n._streams||{};var s=n._streams[t.id];if(s)s.addTrack(e),n.removeStream(s),n.addStream(s);else{var i=new MediaStream([e]);n._streams[t.id]=i,n.addStream(i)}var o={track:e,get dtmf(){return void 0===this._dtmf&&("audio"===e.kind?this._dtmf=n.createDTMFSender(e):this._dtmf=null),this._dtmf}};return n._senders.push(o),o}),RTCPeerConnection.prototype.addStream=function(t){var n=this;
1n._senders=n._senders||[],e.apply(n,[t]),t.getTracks().forEach(function(e){n._senders.push({track:e,get dtmf(){return void 0===this._dtmf&&("audio"===e.kind?this._dtmf=n.createDTMFSender(e):this._dtmf=null),this._dtmf}})})},RTCPeerConnection.prototype.removeStream=function(e){var n=this;n._senders=n._senders||[],t.apply(n,[e]),e.getTracks().forEach(function(e){var t=n._senders.find(function(t){return t.track===e});t&&n._senders.splice(n._senders.indexOf(t),1)})}}},shimSourceObject:function(){"object"==typeof window&&(!window.HTMLMediaElement||"srcObject"in window.HTMLMediaElement.prototype||Object.defineProperty(window.HTMLMediaElement.prototype,"srcObject",{get:function(){return this._srcObject},set:function(e){var t=this;this._srcObject=e,this.src&&URL.revokeObjectURL(this.src),e?(this.src=URL.createObjectURL(e),e.addEventListener("addtrack",function(){t.src&&URL.revokeObjectURL(t.src),t.src=URL.createObjectURL(e)}),e.addEventListener("removetrack",function(){t.src&&URL.revokeObjectURL(t.src),t.src=URL.createObjectURL(e)})):this.src=""}}))},shimPeerConnection:function(){if(window.RTCPeerConnection){var e=RTCPeerConnection;window.RTCPeerConnection=function(t,n){if(t&&t.iceServers){for(var r=[],s=0;s<t.iceServers.length;s++){var i=t.iceServers[s];!i.hasOwnProperty("urls")&&i.hasOwnProperty("url")?(console.warn("RTCIceServer.url is deprecated! Use urls instead."),(i=JSON.parse(JSON.stringify(i))).urls=i.url,r.push(i)):r.push(t.iceServers[s])}t.iceServers=r}return new e(t,n)},window.RTCPeerConnection.prototype=e.prototype,Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return e.generateCertificate}})}else window.RTCPeerConnection=function(e,t){return r("PeerConnection"),e&&e.iceTransportPolicy&&(e.iceTransports=e.iceTransportPolicy),new webkitRTCPeerConnection(e,t)},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return webkitRTCPeerConnection.generateCertificate}});var t=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(e,n,r){var s=this,i=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof arguments[0]))return t.apply(this,[]);var o=function(e){var t={};return e.result().forEach(function(e){var n={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach(function(t){n[t]=e.stat(t)}),t[n.id]=n}),t},a=function(e){return new Map(Object.keys(e).map(function(t){return[t,e[t]]}))};return arguments.length>=2?t.apply(this,[function(e){i[1](a(o(e)))},arguments[0]]):new Promise(function(e,n){t.apply(s,[function(t){e(a(o(t)))},n])}).then(n,r)},s.version<51&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(e){var t=RTCPeerConnection.prototype[e];RTCPeerConnection.prototype[e]=function(){var e=arguments,n=this,r=new Promise(function(r,s){t.apply(n,[e[0],r,s])});return e.length<2?r:r.then(function(){e[1].apply(null,[])},function(t){e.length>=3&&e[2].apply(null,[t])})}}),s.version<52&&["createOffer","createAnswer"].forEach(function(e){var t=RTCPeerConnection.prototype[e];RTCPeerConnection.prototype[e]=function(){var e=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var n=1===arguments.length?arguments[0]:void 0;return new Promise(function(r,s){t.apply(e,[r,s,n])})}return t.apply(this,arguments)}}),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(e){var t=RTCPeerConnection.prototype[e];RTCPeerConnection.prototype[e]=function(){return arguments[0]=new("addIceCandidate"===e?RTCIceCandidate:RTCSessionDescription)(arguments[0]),t.apply(this,arguments)}});var n=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}};t.exports={shimMediaStream:i.shimMediaStream,shimOnTrack:i.shimOnTrack,shimGetSendersWithDtmf:i.shimGetSendersWithDtmf,shimSourceObject:i.shimSourceObject,shimPeerConnection:i.shimPeerConnection,shimGetUserMedia:e("./getusermedia")}},{"../utils.js":51,"./getusermedia":44}],44:[function(e,t,n){;;var r=e("../utils.js").log,s=e("../utils.js").browserDetails;t.exports=function(){var e=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;var t={};return Object.keys(e).forEach(function(n){if("require"!==n&&"advanced"!==n&&"mediaSource"!==n){var r="object"==typeof e[n]?e[n]:{ideal:e[n]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);var s=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==r.ideal){t.optional=t.optional||[];var i={};
1"number"==typeof r.ideal?(i[s("min",n)]=r.ideal,t.optional.push(i),(i={})[s("max",n)]=r.ideal,t.optional.push(i)):(i[s("",n)]=r.ideal,t.optional.push(i))}void 0!==r.exact&&"number"!=typeof r.exact?(t.mandatory=t.mandatory||{},t.mandatory[s("",n)]=r.exact):["min","max"].forEach(function(e){void 0!==r[e]&&(t.mandatory=t.mandatory||{},t.mandatory[s(e,n)]=r[e])})}}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},t=function(t,n){if((t=JSON.parse(JSON.stringify(t)))&&t.audio&&(t.audio=e(t.audio)),t&&"object"==typeof t.video){var i=t.video.facingMode;i=i&&("object"==typeof i?i:{ideal:i});var o=s.version<61;if(i&&("user"===i.exact||"environment"===i.exact||"user"===i.ideal||"environment"===i.ideal)&&(!navigator.mediaDevices.getSupportedConstraints||!navigator.mediaDevices.getSupportedConstraints().facingMode||o)){delete t.video.facingMode;var a;if("environment"===i.exact||"environment"===i.ideal?a=["back","rear"]:"user"!==i.exact&&"user"!==i.ideal||(a=["front"]),a)return navigator.mediaDevices.enumerateDevices().then(function(s){var o=(s=s.filter(function(e){return"videoinput"===e.kind})).find(function(e){return a.some(function(t){return-1!==e.label.toLowerCase().indexOf(t)})});return!o&&s.length&&-1!==a.indexOf("back")&&(o=s[s.length-1]),o&&(t.video.deviceId=i.exact?{exact:o.deviceId}:{ideal:o.deviceId}),t.video=e(t.video),r("chrome: "+JSON.stringify(t)),n(t)})}t.video=e(t.video)}return r("chrome: "+JSON.stringify(t)),n(t)},n=function(e){return{name:{ConstraintNotSatisfiedError:"OverconstrainedError",PermissionDeniedError:"NotAllowedError",TrackStartError:"NotReadableError"}[e.name]||e.name,message:e.message,constraint:e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}};navigator.getUserMedia=function(e,r,s){t(e,function(e){navigator.webkitGetUserMedia(e,r,function(e){s(n(e))})})};var i=function(e){return new Promise(function(t,n){navigator.getUserMedia(e,t,n)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:i,enumerateDevices:function(){return new Promise(function(e){var t={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(n){e(n.map(function(e){return{label:e.label,kind:t[e.kind],deviceId:e.id,groupId:""}}))})})},getSupportedConstraints:function(){return{deviceId:!0,echoCancellation:!0,facingMode:!0,frameRate:!0,height:!0,width:!0}}}),navigator.mediaDevices.getUserMedia){var o=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(e){return t(e,function(e){return o(e).then(function(t){if(e.audio&&!t.getAudioTracks().length||e.video&&!t.getVideoTracks().length)throw t.getTracks().forEach(function(e){e.stop()}),new DOMException("","NotFoundError");return t},function(e){return Promise.reject(n(e))})})}}else navigator.mediaDevices.getUserMedia=function(e){return i(e)};void 0===navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){r("Dummy mediaDevices.addEventListener called.")}),void 0===navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){r("Dummy mediaDevices.removeEventListener called.")})}},{"../utils.js":51}],45:[function(e,t,n){;;var r=e("../utils").browserDetails,s=e("./rtcpeerconnection_shim");t.exports={shimGetUserMedia:e("./getusermedia"),shimPeerConnection:function(){if(window.RTCIceGatherer&&(window.RTCIceCandidate||(window.RTCIceCandidate=function(e){return e}),window.RTCSessionDescription||(window.RTCSessionDescription=function(e){return e}),r.version<15025)){var e=Object.getOwnPropertyDescriptor(MediaStreamTrack.prototype,"enabled");Object.defineProperty(MediaStreamTrack.prototype,"enabled",{set:function(t){e.set.call(this,t);var n=new Event("enabled");n.enabled=t,this.dispatchEvent(n)}})}window.RTCPeerConnection=s(r.version)},shimReplaceTrack:function(){!window.RTCRtpSender||"replaceTrack"in RTCRtpSender.prototype||(RTCRtpSender.prototype.replaceTrack=RTCRtpSender.prototype.setTrack)}}},{"../utils":51,"./getusermedia":46,"./rtcpeerconnection_shim":47}],46:[function(e,t,n){;;t.exports=function(){var e=function(e){return{name:{PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:e.message,constraint:e.constraint,toString:function(){return this.name}}},t=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(n){return t(n).catch(function(t){return Promise.reject(e(t))})}}},{}],47:[function(e,t,n){;;function r(e){var t=e.filter(function(e){return"audio"===e.kind}),n=e.filter(function(e){return"video"===e.kind});for(e=[];t.length||n.length;)t.length&&e.push(t.shift()),n.length&&e.push(n.shift());return e}function s(e,t){var n=!1;return(e=JSON.parse(JSON.stringify(e))).filter(function(e){if(e&&(e.urls||e.url)){var r=e.urls||e.url;e.url&&!e.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var s="string"==typeof r;return s&&(r=[r]),r=r.filter(function(e){return 0!==e.indexOf("turn:")||-1===e.indexOf("transport=udp")||-1!==e.indexOf("turn:[")||n?0===e.indexOf("stun:")&&t>=14393:(n=!0,!0)}),delete e.url,e.urls=s?r[0]:r,!!r.length}return!1})}function i(e,t){var n={codecs:[],headerExtensions:[],fecMechanisms:[]}
1,r=function(e,t){e=parseInt(e,10);for(var n=0;n<t.length;n++)if(t[n].payloadType===e||t[n].preferredPayloadType===e)return t[n]},s=function(e,t,n,s){var i=r(e.parameters.apt,n),o=r(t.parameters.apt,s);return i&&o&&i.name.toLowerCase()===o.name.toLowerCase()};return e.codecs.forEach(function(r){for(var i=0;i<t.codecs.length;i++){var o=t.codecs[i];if(r.name.toLowerCase()===o.name.toLowerCase()&&r.clockRate===o.clockRate){if("rtx"===r.name.toLowerCase()&&r.parameters&&o.parameters.apt&&!s(r,o,e.codecs,t.codecs))continue;(o=JSON.parse(JSON.stringify(o))).numChannels=Math.min(r.numChannels,o.numChannels),n.codecs.push(o),o.rtcpFeedback=o.rtcpFeedback.filter(function(e){for(var t=0;t<r.rtcpFeedback.length;t++)if(r.rtcpFeedback[t].type===e.type&&r.rtcpFeedback[t].parameter===e.parameter)return!0;return!1});break}}}),e.headerExtensions.forEach(function(e){for(var r=0;r<t.headerExtensions.length;r++){var s=t.headerExtensions[r];if(e.uri===s.uri){n.headerExtensions.push(s);break}}}),n}function o(e,t,n){return-1!=={offer:{setLocalDescription:["stable","have-local-offer"],setRemoteDescription:["stable","have-remote-offer"]},answer:{setLocalDescription:["have-remote-offer","have-local-pranswer"],setRemoteDescription:["have-local-offer","have-remote-pranswer"]}}[t][e].indexOf(n)}var a=e("sdp");t.exports=function(e){var t=function(t){var n=this,r=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(e){n[e]=r[e].bind(r)}),this.needNegotiation=!1,this.onicecandidate=null,this.onaddstream=null,this.ontrack=null,this.onremovestream=null,this.onsignalingstatechange=null,this.oniceconnectionstatechange=null,this.onicegatheringstatechange=null,this.onnegotiationneeded=null,this.ondatachannel=null,this.canTrickleIceCandidates=null,this.localStreams=[],this.remoteStreams=[],this.getLocalStreams=function(){return n.localStreams},this.getRemoteStreams=function(){return n.remoteStreams},this.localDescription=new RTCSessionDescription({type:"",sdp:""}),this.remoteDescription=new RTCSessionDescription({type:"",sdp:""}),this.signalingState="stable",this.iceConnectionState="new",this.iceGatheringState="new",this.iceOptions={gatherPolicy:"all",iceServers:[]},t&&t.iceTransportPolicy)switch(t.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=t.iceTransportPolicy}this.usingBundle=t&&"max-bundle"===t.bundlePolicy,t&&t.iceServers&&(this.iceOptions.iceServers=s(t.iceServers,e)),this._config=t||{},this.transceivers=[],this._localIceCandidatesBuffer=[]};return t.prototype._emitGatheringStateChange=function(){var e=new Event("icegatheringstatechange");this.dispatchEvent(e),null!==this.onicegatheringstatechange&&this.onicegatheringstatechange(e)},t.prototype._emitBufferedCandidates=function(){var e=this,t=a.splitSections(e.localDescription.sdp);this._localIceCandidatesBuffer.forEach(function(n){if(n.candidate&&0!==Object.keys(n.candidate).length)t[n.candidate.sdpMLineIndex+1]+="a="+n.candidate.candidate+"\r\n";else for(var r=1;r<t.length;r++)-1===t[r].indexOf("\r\na=end-of-candidates\r\n")&&(t[r]+="a=end-of-candidates\r\n");e.localDescription.sdp=t.join(""),e.dispatchEvent(n),null!==e.onicecandidate&&e.onicecandidate(n),n.candidate||"complete"===e.iceGatheringState||e.transceivers.every(function(e){return e.iceGatherer&&"completed"===e.iceGatherer.state})&&"complete"!==e.iceGatheringStateChange&&(e.iceGatheringState="complete",e._emitGatheringStateChange())}),this._localIceCandidatesBuffer=[]},t.prototype.getConfiguration=function(){return this._config},t.prototype._createTransceiver=function(e){var t=this.transceivers.length>0,n={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:e,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,wantReceive:!0};
vendor: 7,126 bytes, line 1
1if(this.usingBundle&&t)n.iceTransport=this.transceivers[0].iceTransport,n.dtlsTransport=this.transceivers[0].dtlsTransport;else{var r=this._createIceAndDtlsTransports();n.iceTransport=r.iceTransport,n.dtlsTransport=r.dtlsTransport}return this.transceivers.push(n),n},t.prototype.addTrack=function(e,t){for(var n,r=0;r<this.transceivers.length;r++)this.transceivers[r].track||this.transceivers[r].kind!==e.kind||(n=this.transceivers[r]);return n||(n=this._createTransceiver(e.kind)),n.track=e,n.stream=t,n.rtpSender=new RTCRtpSender(e,n.dtlsTransport),this._maybeFireNegotiationNeeded(),n.rtpSender},t.prototype.addStream=function(t){var n=this;if(e>=15025)this.localStreams.push(t),t.getTracks().forEach(function(e){n.addTrack(e,t)});else{var r=t.clone();t.getTracks().forEach(function(e,t){var n=r.getTracks()[t];e.addEventListener("enabled",function(e){n.enabled=e.enabled})}),r.getTracks().forEach(function(e){n.addTrack(e,r)}),this.localStreams.push(r)}this._maybeFireNegotiationNeeded()},t.prototype.removeStream=function(e){var t=this.localStreams.indexOf(e);t>-1&&(this.localStreams.splice(t,1),this._maybeFireNegotiationNeeded())},t.prototype.getSenders=function(){return this.transceivers.filter(function(e){return!!e.rtpSender}).map(function(e){return e.rtpSender})},t.prototype.getReceivers=function(){return this.transceivers.filter(function(e){return!!e.rtpReceiver}).map(function(e){return e.rtpReceiver})},t.prototype._createIceGatherer=function(e,t){var n=this,r=new RTCIceGatherer(n.iceOptions);return r.onlocalcandidate=function(s){var i=new Event("icecandidate");i.candidate={sdpMid:e,sdpMLineIndex:t};var o=s.candidate,l=!o||0===Object.keys(o).length;l?void 0===r.state&&(r.state="completed"):(o.component=1,i.candidate.candidate=a.writeCandidate(o));var u=a.splitSections(n.localDescription.sdp);u[i.candidate.sdpMLineIndex+1]+=l?"a=end-of-candidates\r\n":"a="+i.candidate.candidate+"\r\n",n.localDescription.sdp=u.join("");var c=(n._pendingOffer?n._pendingOffer:n.transceivers).every(function(e){return e.iceGatherer&&"completed"===e.iceGatherer.state});switch(n.iceGatheringState){case"new":l||n._localIceCandidatesBuffer.push(i),l&&c&&n._localIceCandidatesBuffer.push(new Event("icecandidate"));break;case"gathering":n._emitBufferedCandidates(),l||(n.dispatchEvent(i),null!==n.onicecandidate&&n.onicecandidate(i)),c&&(n.dispatchEvent(new Event("icecandidate")),null!==n.onicecandidate&&n.onicecandidate(new Event("icecandidate")),n.iceGatheringState="complete",n._emitGatheringStateChange())}},r},t.prototype._createIceAndDtlsTransports=function(){var e=this,t=new RTCIceTransport(null);t.onicestatechange=function(){e._updateConnectionState()};var n=new RTCDtlsTransport(t);return n.ondtlsstatechange=function(){e._updateConnectionState()},n.onerror=function(){Object.defineProperty(n,"state",{value:"failed",writable:!0}),e._updateConnectionState()},{iceTransport:t,dtlsTransport:n}},t.prototype._disposeIceAndDtlsTransports=function(e){var t=this.transceivers[e].iceGatherer;t&&(delete t.onlocalcandidate,delete this.transceivers[e].iceGatherer);var n=this.transceivers[e].iceTransport;n&&(delete n.onicestatechange,delete this.transceivers[e].iceTransport);var r=this.transceivers[e].dtlsTransport;r&&(delete r.ondtlssttatechange,delete r.onerror,delete this.transceivers[e].dtlsTransport)},t.prototype._transceive=function(t,n,r){var s=i(t.localCapabilities,t.remoteCapabilities);n&&t.rtpSender&&(s.encodings=t.sendEncodingParameters,s.rtcp={cname:a.localCName,compound:t.rtcpParameters.compound},t.recvEncodingParameters.length&&(s.rtcp.ssrc=t.recvEncodingParameters[0].ssrc),t.rtpSender.send(s)),r&&t.rtpReceiver&&("video"===t.kind&&t.recvEncodingParameters&&e<15019&&t.recvEncodingParameters.forEach(function(e){delete e.rtx}),s.encodings=t.recvEncodingParameters,s.rtcp={cname:t.rtcpParameters.cname,compound:t.rtcpParameters.compound},t.sendEncodingParameters.length&&(s.rtcp.ssrc=t.sendEncodingParameters[0].ssrc),t.rtpReceiver.receive(s))},t.prototype.setLocalDescription=function(e){var t=this;if(!o("setLocalDescription",e.type,this.signalingState)){var n=new Error("Can not set local "+e.type+" in state "+this.signalingState);return n.name="InvalidStateError",arguments.length>2&&"function"==typeof arguments[2]&&window.setTimeout(arguments[2],0,n),Promise.reject(n)}var r,s;if("offer"===e.type)this._pendingOffer&&(r=a.splitSections(e.sdp),s=r.shift(),r.forEach(function(e,n){var r=a.parseRtpParameters(e);t._pendingOffer[n].localCapabilities=r}),this.transceivers=this._pendingOffer,delete this._pendingOffer);else if("answer"===e.type){r=a.splitSections(t.remoteDescription.sdp),s=r.shift();var l=a.matchPrefix(s,"a=ice-lite").length>0;r.forEach(function(e,n){var r=t.transceivers[n],o=r.iceGatherer,u=r.iceTransport,c=r.dtlsTransport,d=r.localCapabilities,h=r.remoteCapabilities;if(!a.isRejected(e)&&!r.isDatachannel){var p=a.getIceParameters(e,s),f=a.getDtlsParameters(e,s);l&&(f.role="server"),t.usingBundle&&0!==n||(u.start(o,p,l?"controlling":"controlled"),c.start(f));var m=i(d,h);t._transceive(r,m.codecs.length>0,!1)}})}switch(this.localDescription={type:e.type,sdp:e.sdp},e.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+e.type+'"')}var u=arguments.length>1&&"function"==typeof arguments[1];if(u){var c=arguments[1];window.setTimeout(function(){c(),"new"===t.iceGatheringState&&(t.iceGatheringState="gathering",t._emitGatheringStateChange()),t._emitBufferedCandidates()},0)}var d=Promise.resolve();return d.then(function(){u||("new"===t.iceGatheringState&&(t.iceGatheringState="gathering",t._emitGatheringStateChange()),window.setTimeout(t._emitBufferedCandidates.bind(t),500))}),d},t.prototype.setRemoteDescription=function(t){var n=this;if(!o("setRemoteDescription",t.type,this.signalingState)){var r=new Error("Can not set remote "+t.type+" in state "+this.signalingState);return r.name="InvalidStateError",arguments.length>2&&"function"==typeof arguments[2]&&window.setTimeout(arguments[2],0,r),Promise.reject(r)}var s={},i=[],l=a.splitSections(t.sdp),u=l.shift(),c=a.matchPrefix(u,"a=ice-lite").length>0,d=a.matchPrefix(u,"a=group:BUNDLE ").length>0;this.usingBundle=d;var h=a.matchPrefix(u,"a=ice-options:")[0];switch(this.canTrickleIceCandidates=!!h&&h.substr(14).split(" ").indexOf("trickle")>=0,l.forEach(function(r,o){var l=a.splitLines(r),h=a.getKind(r),p=a.isRejected(r),f=l[0].substr(2).split(" ")[2],m=a.getDirection(r,u),g=a.parseMsid(r),v=a.getMid(r)||a.generateIdentifier();if("application"!==h||"DTLS/SCTP"!==f){var T,_,C,S,E,y,A,R,b,w,I,O=a.parseRtpParameters(r);p||(w=a.getIceParameters(r,u),(I=a.getDtlsParameters(r,u)).role="client"),A=a.parseRtpEncodingParameters(r);var x=a.parseRtcpParameters(r),N=a.matchPrefix(r,"a=end-of-candidates",u).length>0,P=a.matchPrefix(r,"a=candidate:").map(function(e){return a.parseCandidate(e)}).filter(function(e){return"1"===e.component||1===e.component});"offer"!==t.type||p?"answer"!==t.type||p||(d&&o>0&&(n._disposeIceAndDtlsTransports(o),n.transceivers[o].iceGatherer=n.transceivers[
10].iceGatherer,n.transceivers[o].iceTransport=n.transceivers[0].iceTransport,n.transceivers[o].dtlsTransport=n.transceivers[0].dtlsTransport,n.transceivers[o].rtpSender&&n.transceivers[o].rtpSender.setTransport(n.transceivers[0].dtlsTransport),n.transceivers[o].rtpReceiver&&n.transceivers[o].rtpReceiver.setTransport(n.transceivers[0].dtlsTransport)),_=(T=n.transceivers[o]).iceGatherer,C=T.iceTransport,S=T.dtlsTransport,E=T.rtpReceiver,y=T.sendEncodingParameters,R=T.localCapabilities,n.transceivers[o].recvEncodingParameters=A,n.transceivers[o].remoteCapabilities=O,n.transceivers[o].rtcpParameters=x,(c||N)&&P.length&&C.setRemoteCandidates(P),d&&0!==o||(C.start(_,w,"controlling"),S.start(I)),n._transceive(T,"sendrecv"===m||"recvonly"===m,"sendrecv"===m||"sendonly"===m),!E||"sendrecv"!==m&&"sendonly"!==m?delete T.rtpReceiver:(b=E.track,g?(s[g.stream]||(s[g.stream]=new MediaStream),s[g.stream].addTrack(b),i.push([b,E,s[g.stream]])):(s.default||(s.default=new MediaStream),s.default.addTrack(b),i.push([b,E,s.default])))):((T=n.transceivers[o]||n._createTransceiver(h)).mid=v,T.iceGatherer||(T.iceGatherer=d&&o>
vendor: 17,800 bytes, line 1
10?n.transceivers[0].iceGatherer:n._createIceGatherer(v,o)),!N||d&&0!==o||T.iceTransport.setRemoteCandidates(P),R=RTCRtpReceiver.getCapabilities(h),e<15019&&(R.codecs=R.codecs.filter(function(e){return"rtx"!==e.name})),y=[{ssrc:1001*(2*o+2)}],"sendrecv"!==m&&"sendonly"!==m||(b=(E=new RTCRtpReceiver(T.dtlsTransport,h)).track,g?(s[g.stream]||(s[g.stream]=new MediaStream,Object.defineProperty(s[g.stream],"id",{get:function(){return g.stream}})),Object.defineProperty(b,"id",{get:function(){return g.track}}),s[g.stream].addTrack(b),i.push([b,E,s[g.stream]])):(s.default||(s.default=new MediaStream),s.default.addTrack(b),i.push([b,E,s.default]))),T.localCapabilities=R,T.remoteCapabilities=O,T.rtpReceiver=E,T.rtcpParameters=x,T.sendEncodingParameters=y,T.recvEncodingParameters=A,n._transceive(n.transceivers[o],!1,"sendrecv"===m||"sendonly"===m))}else n.transceivers[o]={mid:v,isDatachannel:!0}}),this.remoteDescription={type:t.type,sdp:t.sdp},t.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+t.type+'"')}return Object.keys(s).forEach(function(e){var t=s[e];if(t.getTracks().length){n.remoteStreams.push(t);var r=new Event("addstream");r.stream=t,n.dispatchEvent(r),null!==n.onaddstream&&window.setTimeout(function(){n.onaddstream(r)},0),i.forEach(function(e){var r=e[0],s=e[1];if(t.id===e[2].id){var i=new Event("track");i.track=r,i.receiver=s,i.streams=[t],n.dispatchEvent(i),null!==n.ontrack&&window.setTimeout(function(){n.ontrack(i)},0)}})}}),window.setTimeout(function(){n&&n.transceivers&&n.transceivers.forEach(function(e){e.iceTransport&&"new"===e.iceTransport.state&&e.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),e.iceTransport.addRemoteCandidate({}))})},4e3),arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},t.prototype.close=function(){this.transceivers.forEach(function(e){e.iceTransport&&e.iceTransport.stop(),e.dtlsTransport&&e.dtlsTransport.stop(),e.rtpSender&&e.rtpSender.stop(),e.rtpReceiver&&e.rtpReceiver.stop()}),this._updateSignalingState("closed")},t.prototype._updateSignalingState=function(e){this.signalingState=e;var t=new Event("signalingstatechange");this.dispatchEvent(t),null!==this.onsignalingstatechange&&this.onsignalingstatechange(t)},t.prototype._maybeFireNegotiationNeeded=function(){var e=this;"stable"===this.signalingState&&!0!==this.needNegotiation&&(this.needNegotiation=!0,window.setTimeout(function(){if(!1!==e.needNegotiation){e.needNegotiation=!1;var t=new Event("negotiationneeded");e.dispatchEvent(t),null!==e.onnegotiationneeded&&e.onnegotiationneeded(t)}},0))},t.prototype._updateConnectionState=function(){var e,t=this,n={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};if(this.transceivers.forEach(function(e){n[e.iceTransport.state]++,n[e.dtlsTransport.state]++}),n.connected+=n.completed,e="new",n.failed>0?e="failed":n.connecting>0||n.checking>0?e="connecting":n.disconnected>0?e="disconnected":n.new>0?e="new":(n.connected>0||n.completed>0)&&(e="connected"),e!==t.iceConnectionState){t.iceConnectionState=e;var r=new Event("iceconnectionstatechange");this.dispatchEvent(r),null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange(r)}},t.prototype.createOffer=function(){var t=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var n;1===arguments.length&&"function"!=typeof arguments[0]?n=arguments[0]:3===arguments.length&&(n=arguments[2]);var s=this.transceivers.filter(function(e){return"audio"===e.kind}).length,i=this.transceivers.filter(function(e){return"video"===e.kind}).length;if(n){if(n.mandatory||n.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==n.offerToReceiveAudio&&(s=!0===n.offerToReceiveAudio?1:!1===n.offerToReceiveAudio?0:n.offerToReceiveAudio),void 0!==n.offerToReceiveVideo&&(i=!0===n.offerToReceiveVideo?1:!1===n.offerToReceiveVideo?0:n.offerToReceiveVideo)}for(this.transceivers.forEach(function(e){"audio"===e.kind?--s<0&&(e.wantReceive=!1):"video"===e.kind&&--i<0&&(e.wantReceive=!1)});s>0||i>0;)s>0&&(this._createTransceiver("audio"),s--),i>0&&(this._createTransceiver("video"),i--);var o=r(this.transceivers),l=a.writeSessionBoilerplate();o.forEach(function(n,r){var s=n.track,i=n.kind,l=a.generateIdentifier();n.mid=l,n.iceGatherer||(n.iceGatherer=t.usingBundle&&r>0?o[0].iceGatherer:t._createIceGatherer(l,r));var u=RTCRtpSender.getCapabilities(i);e<15019&&(u.codecs=u.codecs.filter(function(e){return"rtx"!==e.name})),u.codecs.forEach(function(e){"H264"===e.name&&void 0===e.parameters["level-asymmetry-allowed"]&&(e.parameters["level-asymmetry-allowed"]="1")});var c=[{ssrc:1001*(2*r+1)}];s&&e>=15019&&"video"===i&&(c[0].rtx={ssrc:1001*(2*r+1)+1}),n.wantReceive&&(n.rtpReceiver=new RTCRtpReceiver(n.dtlsTransport,i)),n.localCapabilities=u,n.sendEncodingParameters=c}),"max-compat"!==this._config.bundlePolicy&&(l+="a=group:BUNDLE "+o.map(function(e){return e.mid}).join(" ")+"\r\n"),l+="a=ice-options:trickle\r\n",o.forEach(function(e,t){l+=a.writeMediaSection(e,e.localCapabilities,"offer",e.stream),l+="a=rtcp-rsize\r\n"}),this._pendingOffer=o;var u=new RTCSessionDescription({type:"offer",sdp:l});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,u),Promise.resolve(u)},t.prototype.createAnswer=function(){var t=a.writeSessionBoilerplate();this.usingBundle&&(t+="a=group:BUNDLE "+this.transceivers.map(function(e){return e.mid}).join(" ")+"\r\n"),this.transceivers.forEach(function(n,r){if(n.isDatachannel)t+="m=application 0 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=mid:"+n.mid+"\r\n";else{if(n.stream){var s;"audio"===n.kind?s=n.stream.getAudioTracks()[0]:"video"===n.kind&&(s=n.stream.getVideoTracks()[0]),s&&e>=15019&&"video"===n.kind&&(n.sendEncodingParameters[0].rtx={ssrc:1001*(2*r+2)+1})}var o=i(n.localCapabilities,n.remoteCapabilities);!o.codecs.filter(function(e){return"rtx"===e.name.toLowerCase()}).length&&n.sendEncodingParameters[0].rtx&&delete n.sendEncodingParameters[0].rtx,t+=a.writeMediaSection(n,o,"answer",n.stream),n.rtcpParameters&&n.rtcpParameters.reducedSize&&(t+="a=rtcp-rsize\r\n")}});var n=new RTCSessionDescription({type:"answer",sdp:t});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,n),Promise.resolve(n)},t.prototype.addIceCandidate=function(e){if(e){var t=e.sdpMLineIndex;if(e.sdpMid)for(var n=0;n<this.transceivers.length;n++)if(this.transceivers[n].mid===e.sdpMid){t=n;break}var r=this.transceivers[t];if(r){var s=Object.keys(e.candidate).length>0?a.parseCandidate(e.candidate):{};if("tcp"===s.protocol&&(0===s.port||9===s.port))return Promise.resolve();if(s.component&&"1"!==s.component&&1!==s.component)return Promise.resolve();r.iceTransport.addRemoteCandidate(s);var i=a.splitSections(this.remoteDescription.sdp);i[t+1]+=(s.type?e.candidate.trim():"a=end-of-candidates")+"\r\n",this.remoteDescription.sdp=i.join("")}}else for(var o=0;o<this.transceivers.length;o++)if(this.transceivers[o].iceTransport.addRemoteCandidate({}),this.usingBundle)return Promise.resolve();return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},t.prototype.getStats=function(){var e=[];this.transceivers.forEach(function(t){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(n){t[n]&&e.push(t[n].getStats())})});var t=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1],n=function(e){return{inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};return new Promise(function(r){var s=new Map;Promise.all(e).then(function(e){e.forEach(function(e){Object.keys(e).forEach(function(t){e[t].type=n(e[t]),s.set(t,e[t])})}),t&&window.setTimeout(t,0,s),r(s)})})},t}},{sdp:38}],48:[function(e,t,n){;;var r=e("../utils").browserDetails,s={shimOnTrack:function(){"object"!=typeof window||!window.RTCPeerConnection||"ontrack"in window.RTCPeerConnection.prototype||Object.defineProperty(window.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(e){this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=e),this.addEventListener("addstream",this._ontrackpoly=function(e){e.stream.getTracks().forEach(function(t){var n=new Event("track");n.track=t,n.receiver={track:t},n.streams=[e.stream],this.dispatchEvent(n)}.bind(this))}.bind(this))}})},shimSourceObject:function(){"object"==typeof window&&(!window.HTMLMediaElement||"srcObject"in window.HTMLMediaElement.prototype||Object.defineProperty(window.HTMLMediaElement.prototype,"srcObject",{get:function(){return this.mozSrcObject},set:function(e){this.mozSrcObject=e}}))},shimPeerConnection:function(){if("object"==typeof window&&(window.RTCPeerConnection||window.mozRTCPeerConnection)){window.RTCPeerConnection||(window.RTCPeerConnection=function(e,t){if(r.version<38&&e&&e.iceServers){for(var n=[],s=0;s<e.iceServers.length;s++){var i=e.iceServers[s];if(i.hasOwnProperty("urls"))for(var o=0;o<i.urls.length;o++){var a={url:i.urls[o]};0===i.urls[o].indexOf("turn")&&(a.username=i.username,a.credential=i.credential),n.push(a)}else n.push(e.iceServers[s])}e.iceServers=n}return new mozRTCPeerConnection(e,t)},window.RTCPeerConnection.prototype=mozRTCPeerConnection.prototype,mozRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return mozRTCPeerConnection.generateCertificate}}),window.RTCSessionDescription=mozRTCSessionDescription,window.RTCIceCandidate=mozRTCIceCandidate),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(e){var t=RTCPeerConnection.prototype[e];RTCPeerConnection.prototype[e]=function(){return arguments[0]=new("addIceCandidate"===e?RTCIceCandidate:RTCSessionDescription)(arguments[0]),t.apply(this,arguments)}});var e=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?e.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())};var t=function(e){var t=new Map;return Object.keys(e).forEach(function(n){t.set(n,e[n]),t[n]=e[n]}),t},n={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},s=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(e,i,o){return s.apply(this,[e||null]).then(function(e){if(r.version<48&&(e=t(e)),r.version<53&&!i)try{e.forEach(function(e){e.type=n[e.type]||e.type})}catch(t){if("TypeError"!==t.name)throw t;e.forEach(function(t,r){e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))})}return e}).then(i,o)}}}};t.exports={shimOnTrack:s.shimOnTrack,shimSourceObject:s.shimSourceObject,shimPeerConnection:s.shimPeerConnection,shimGetUserMedia:e("./getusermedia")}},{"../utils":51,"./getusermedia":49}],49:[function(e,t,n){;;var r=e("../utils").log,s=e("../utils").browserDetails;t.exports=function(){var e=function(e){return{name:{InternalError:"NotReadableError",NotSupportedError:"TypeError",PermissionDeniedError:"NotAllowedError",SecurityError:"NotAllowedError"}[e.name]||e.name,message:{"The operation is insecure.":"The request is not allowed by the user agent or the platform in the current context."}[e.message]||e.message,constraint:e.constraint,toString:function(){return this.name+(this.message&&": ")+this.message}}},t=function(t,n,i){var o=function(e){if("object"!=typeof e||e.require)return e;var t=[];return Object.keys(e).forEach(function(n){if("require"!==n&&"advanced"!==n&&"mediaSource"!==n){var r=e[n]="object"==typeof e[n]?e[n]:{ideal:e[n]};if(void 0===r.min&&void 0===r.max&&void 0===r.exact||t.push(n),void 0!==r.exact&&("number"==typeof r.exact?r.min=r.max=r.exact:e[n]=r.exact,delete r.exact),void 0!==r.ideal){e.advanced=e.advanced||[];var s={};"number"==typeof r.ideal?s[n]={min:r.ideal,max:r.ideal}:s[n]=r.ideal,e.advanced.push(s),delete r.ideal,Object.keys(r).length||delete e[n]}}}),t.length&&(e.require=t),e};return t=JSON.parse(JSON.stringify(t)),s.version<38&&(r("spec: "+JSON.stringify(t)),t.audio&&(t.audio=o(t.audio)),t.video&&(t.video=o(t.video)),r("ff37: "+JSON.stringify(t))),navigator.mozGetUserMedia(t,n,function(t){i(e(t))})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:function(e){return new Promise(function(n,r){t(e,n,r)})},addEventListener:function(){},removeEventListener:function(){}}),navigator.mediaDevices.enumerateDevices=navigator.mediaDevices.enumerateDevices||function(){return new Promise(function(e){e([{kind:"audioinput",deviceId:"default",label:"",groupId:""},{kind:"videoinput",deviceId:"default",label:"",groupId:""}])})},s.version<41){var n=navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);navigator.mediaDevices.enumerateDevices=function(){return n().then(void 0,function(e){if("NotFoundError"===e.name)return[];throw e})}}if(s.version<49){var i=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(t){return i(t).then(function(e){if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(function(e){e.stop()}),new DOMException("The object can not be found here.","NotFoundError");return e},function(t){return Promise.reject(e(t))})}}navigator.getUserMedia=function(e,n,r){if(s.version<44)return t(e,n,r);console.warn("navigator.getUserMedia has been replaced by navigator.mediaDevices.getUserMedia"),navigator.mediaDevices.getUserMedia(e).then(n,r)}}},{"../utils":51}],50:[function(e,t,n){;;var r={shimAddStream:function(){"object"!=typeof window||!window.RTCPeerConnection||"addStream"in window.RTCPeerConnection.prototype||(RTCPeerConnection.prototype.addStream=function(e){var t=this;e.getTracks().forEach(function(n){t.addTrack(n,e)})})},shimOnAddStream:function(){"object"!=typeof window||!window.RTCPeerConnection||"onaddstream"in window.RTCPeerConnection.prototype||Object.defineProperty(window.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=function(e){var t=e.streams[0];if(this._streams||(this._streams=[]),!(this._streams.indexOf(t)>=0)){this._streams.push(t);var n=new Event("addstream");n.stream=e.streams[0],this.dispatchEvent(n)}}.bind(this))}})},shimCallbacksAPI:function(){if("object"==typeof window&&window.RTCPeerConnection){var e=RTCPeerConnection.prototype,t=e.createOffer,n=e.createAnswer,r=e.setLocalDescription,s=e.setRemoteDescription,i=e.addIceCandidate;e.createOffer=function(e,n){var r=arguments.length>=2?arguments[2]:arguments[0],s=t.apply(this,[r]);return n?(s.then(e,n),Promise.resolve()):s},e.createAnswer=function(e,t){var r=arguments.length>=2?arguments[2]:arguments[0],s=n.apply(this,[r]);return t?(s.then(e,t),Promise.resolve()):s};var o=function(e,t,n){var s=r.apply(this,[e]);return n?(s.then(t,n),Promise.resolve()):s};e.setLocalDescription=o,o=function(e,t,n){var r=s.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},e.setRemoteDescription=o,o=function(e,t,n){var r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},e.addIceCandidate=o}},shimGetUserMedia:function(){navigator.getUserMedia||(navigator.webkitGetUserMedia?navigator.getUserMedia=navigator.webkitGetUserMedia.bind(navigator):navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&(navigator.getUserMedia=function(e,t,n){navigator.mediaDevices.getUserMedia(e).then(t,n)}.bind(navigator)))}};t.exports={shimCallbacksAPI:r.shimCallbacksAPI,shimAddStream:r.shimAddStream,shimOnAddStream:r.shimOnAddStream,shimGetUserMedia:r.shimGetUserMedia}},{}],51:[function(e,t,n){;;var r=!0,s={disableLog:function(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(r=e,e?"adapter.js logging disabled":"adapter.js logging enabled")},log:function(){if("object"==typeof window){if(r)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}},extractVersion:function(e,t,n){var r=e.match(t);return r&&r.length>=n&&parseInt(r[n],10)},detectBrowser:function(){var e={};if(e.browser=null,e.version=null,"undefined"==typeof window||!window.navigator)return e.browser="Not a browser.",e;if(navigator.mozGetUserMedia)e.browser="firefox",e.version=this.extractVersion(navigator.userAgent,/Firefox\/(\d+)\./,1);else if(navigator.webkitGetUserMedia)if(window.webkitRTCPeerConnection)e.browser="chrome",e.version=this.extractVersion(navigator.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!navigator.userAgent.match(/Version\/(\d+).(\d+)/))return e.browser="Unsupported webkit-based browser with GUM support but no WebRTC support.",e;e.browser="safari",e.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/(\d+)\./,1)}else if(navigator.mediaDevices&&navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))e.browser="edge",e.version=this.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!navigator.mediaDevices||!navigator.userAgent.match(/AppleWebKit\/(\d+)\./))return e.browser="Not a supported browser.",e;e.browser="safari",e.version=this.extractVersion(navigator.userAgent,/AppleWeb
1Kit\/(\d+)\./,1)}return e},shimCreateObjectURL:function(){if("object"==typeof window&&window.HTMLMediaElement&&"srcObject"in window.HTMLMediaElement.prototype){var e=URL.createObjectURL.bind(URL),t=URL.revokeObjectURL.bind(URL),n=new Map,r=0;URL.createObjectURL=function(t){if("getTracks"in t){var s="polyblob:"+ ++r;return n.set(s,t),console.log("URL.createObjectURL(stream) is deprecated! Use elem.srcObject = stream instead!"),s}return e(t)},URL.revokeObjectURL=function(e){t(e),n.delete(e)};var s=Object.getOwnPropertyDescriptor(window.HTMLMediaElement.prototype,"src");Object.defineProperty(window.HTMLMediaElement.prototype,"src",{get:function(){return s.get.apply(this)},set:function(e){return this.srcObject=n.get(e)||null,s.set.apply(this,[e])}});var i=HTMLMediaElement.prototype.setAttribute;HTMLMediaElement.prototype.setAttribute=function(){return 2===arguments.length&&"src"===(""+arguments[0]).toLowerCase()&&(this.srcObject=n.get(arguments[1])||null),i.apply(this,arguments)}}}};t.exports={log:s.log,disableLog:s.disableLog,browserDetails:s.detectBrowser(),extractVersion:s.extractVersion,shimCreateObjectURL:s.shimCreateObjectURL,detectBrowser:s.detectBrowser.bind(s)}},{}],52:[function(e,t,n){t.exports={name:"jssip",title:"JsSIP",description:"the Javascript SIP library",version:"3.0.13",homepage:"http://jssip.net",author:"José Luis Millán <[email protected]> (https://github.com/jmillan)",contributors:["Iñaki Baz Castillo <[email protected]> (https://github.com/ibc)","Saúl Ibarra Corretgé <[email protected]> (https://github.com/saghul)"],main:"lib/JsSIP.js",keywords:["sip","websocket","webrtc","node","browser","library"],license:"MIT",repository:{type:"git",url:"https://github.com/versatica/JsSIP.git"},bugs:{url:"https://github.com/versatica/JsSIP/issues"},dependencies:{debug:"^2.6.8","sdp-transform":"^2.3.0","webrtc-adapter":"^3.4.3"},devDependencies:{browserify:"^14.3.0",gulp:"git+https://github.com/gulpjs/gulp.git#4.0","gulp-expect-file":"0.0.7","gulp-header":"1.8.8","gulp-jshint":"^2.0.4","gulp-nodeunit-runner":"^0.2.2","gulp-rename":"^1.2.2","gulp-uglify":"^3.0.0","gulp-util":"^3.0.8",jshint:"^2.9.4","jshint-stylish":"^2.2.1",pegjs:"0.7.0","vinyl-buffer":"^1.0.0","vinyl-source-stream":"^1.1.0"},scripts:{test:"gulp test"}}},{}]},{},[7])(7)});!function(){this.ZadarmaCallmeWidget=function(e){function t(e){for(var t in e)el=e[t],"shape"==t&&"circle"!=el?Q[t]="square":"dtmf"==t&&!0!==el?Q[t]=!1:"dtmf_position"==t&&"right"!==el&&"bottom"!==el&&"left"!==el?Q[t]="top":"dtmf_time_to_disappear"==t&&(el<=0||el!=parseInt(el,10))?Q[t]=0:Q[t]="width"==t?el.toString():el,""==Q.language&&(Q.language="en")}function l(){c.call(this),a.call(this)}function a(){A.addEventListener("mousedown",le,!1),L&&L.addEventListener("click",function(){o.call(this)},!1),R.addEventListener("click",function(){"calling"==ee&&_.call(this,"ended")},!1),window.onbeforeunload=function(e){f.call(this)}}function o(e){!1!==Q.dtmf&&(e&&"off"==e?(S.className=S.className.replace(/ callme-dtmf-numpad--opened/i,""),L.className=L.className.replace(/ callme__dtmf-ico--shown/i,""),clearTimeout(K)):e&&"on"==e?S.className.match(/ callme-dtmf-numpad--opened/i)||(S.className+=" callme-dtmf-numpad--opened",L.className+=" callme__dtmf-ico--shown"):S.className.match(/ callme-dtmf-numpad--opened/i)?(S.className=S.className.replace(/ callme-dtmf-numpad--opened/i,""),L.className=L.className.replace(/ callme__dtmf-ico--shown/i,""),clearTimeout(K)):(S.className+=" callme-dtmf-numpad--opened",L.className+=" callme__dtmf-ico--shown"))}function c(){A.style.visibility="hidden";var e="z-callme-widget",t=A.className.split(" ");-1==t.indexOf(e)&&(A.className+=" "+e);e="callme--"+Q.shape;-1==(t=A.className.split(" ")).indexOf(e)&&(A.className+=" "+e);e="callme";-1==(t=A.className.split(" ")).indexOf(e)&&(A.className+=" "+e);e="callme--default";if(-1==(t=A.className.split(" ")).indexOf(e)&&(A.className+=" "+e),Q.dtmf){e="callme--dtmf-"+Q.dtmf_position;-1==(t=A.className.split(" ")).indexOf(e)&&(A.className+=" "+e)}(x=document.createElement("audio")).setAttribute("playsinline",!0),x.setAttribute("controls",!0),x.id="webRTCRemoteView_"+B,x.style.width="0px",x.style.display="none",x.style.height="0px",x.setAttribute("autoplay",!0),A.appendChild(x),(Z=document.createElement("audio")).id="outgoingRing_"+B,Z.setAttribute("src","/scripts/zadarma/sounds/out.wav"),Z.setAttribute("preload","auto"),A.appendChild(Z),document.getElementById("outgoingRing_"+B).load(),(j=document.createElement("audio")).id="buzyRing_"+B,j.setAttribute("src","/scripts/zadarma/sounds/busy.wav"),j.setAttribute("preload","auto"),A.appendChild(j),document.getElementById("buzyRing_"+B).load();var l=document.createElement("audio");l.id="hangup_"+B,l.setAttribute("src","/scripts/zadarma/sounds/hangup.wav"),l.setAttribute("preload","auto"),A.appendChild(l),document.getElementById("hangup_"+B).load();var a=document.createElement("div");
1a.className="callme__content",A.appendChild(a);var o=document.createElement("div");o.className="callme__icon",a.appendChild(o);var c=document.createElement("div");c.className="default-phone-ico",o.appendChild(c);var n=document.createElement("i");n.className="z-icon icon-default-phone-ico",c.appendChild(n);var i=document.createElement("div");i.className="callme__icon__text",i.innerHTML=I.call,c.appendChild(i);var r=document.createElement("div");r.className="connecting-phone-ico",o.appendChild(r);var d=document.createElement("i");d.className="z-icon icon-connecting-phone-ico",r.appendChild(d);var s=document.createElement("div");s.className="callme__icon__text",s.innerHTML=I.connection,r.appendChild(s);var m=document.createElement("div");m.className="done-ico",o.appendChild(m);var u=document.createElement("i");u.className="z-icon icon-done-ico",m.appendChild(u),(O=document.createElement("div")).className="callme__icon__text",O.innerHTML=I.ended,m.appendChild(O);var _=document.createElement("div");if(_.className="finish-phone-ico",o.appendChild(_),!0===Q.dtmf)(R=document.createElement("i")).className="z-icon icon-finish-phone-ico",R.title=I.finishCall,_.appendChild(R);else{R=document.getElementById(B);var g=document.createElement("i");g.className="z-icon icon-finish-phone-ico",g.title=I.finishCall,_.appendChild(g)}if(R.style.cursor="pointer",H=document.createElement("div"),H.className="z-callme-timer",H.innerHTML="00:00",_.appendChild(H),!0===Q.dtmf){(L=document.createElement("div")).className="callme__dtmf-ico",L.title=I.dtmf;var p=document.createElement("i");p.className="z-icon icon-dtmf-phone-ico",L.appendChild(p),"circle"==Q.shape?A.appendChild(L):_.appendChild(L),(S=document.createElement("div")).className="callme-dtmf-numpad",A.appendChild(S);var f=document.createElement("div");f.className="callme-dtmf-numpad__description",f.innerHTML=I.dtmf,S.appendChild(f);var h=document.createElement("ul");h.className="dtmf-numpad",S.appendChild(h);for(var v,b=Array(),w=0;w<=9;w+=1)10==(v=w+1)&&(v=0),b[w]=document.createElement("li"),b[w].id="DTMF"+v+"BTN"+B,b[w].className="dtmf-numpad__item",b[w].setAttribute("data-value",v),b[w].innerHTML=v,h.appendChild(b[w]);var M=document.createElement("audio");M.id="DTMF1"+B,M.setAttribute("src","/scripts/zadarma/sounds/dtmf-1.wav"),M.setAttribute("preload","auto"),A.appendChild(M),document.getElementById("DTMF1"+B).load(),document.getElementById("DTMF1BTN"+B).addEventListener("click",function(){document.getElementById("DTMF1"+B).play(),F.insertDTMF(1)},!1);var E=document.createElement("audio");E.id="DTMF2"+B,E.setAttribute("src","/scripts/zadarma/sounds/dtmf-2.wav"),E.setAttribute("preload","auto"),A.appendChild(E),document.getElementById("DTMF2"+B).load(),document.getElementById("DTMF2BTN"+B).addEventListener("click",function(){document.getElementById("DTMF2"+B).play(),F.insertDTMF(2)},!1);var y=document.createElement("audio");y.id="DTMF3"+B,y.setAttribute("src","/scripts/zadarma/sounds/dtmf-3.wav"),y.setAttribute("preload","auto"),A.appendChild(y),document.getElementById("DTMF3"+B).load(),document.getElementById("DTMF3BTN"+B).addEventListener("click",function(){document.getElementById("DTMF3"+B).play(),F.insertDTMF(3)},!1);var T=document.createElement("audio");T.id="DTMF4"+B,T.setAttribute("src","/scripts/zadarma/sounds/dtmf-4.wav"),T.setAttribute("preload","auto"),A.appendChild(T),document.getElementById("DTMF4"+B).load(),document.getElementById("DTMF4BTN"+B).addEventListener("click",function(){document.getElementById("DTMF4"+B).play(),F.insertDTMF(4)},!1);var z=document.createElement("audio");z.id="DTMF5"+B,z.setAttribute("src","/scripts/zadarma/sounds/dtmf-5.wav"),z.setAttribute("preload","auto"),A.appendChild(z),document.getElementById("DTMF5"+B).load(),document.getElementById("DTMF5BTN"+B).addEventListener("click",function(){document.getElementById("DTMF5"+B).play(),F.insertDTMF(5)},!1);var N=document.createElement("audio");N.id="DTMF6"+B,N.setAttribute("src","/scripts/zadarma/sounds/dtmf-6.wav"),N.setAttribute("preload","auto"),A.appendChild(N),document.getElementById("DTMF6"+B).load(),document.getElementById("DTMF6BTN"+B).addEventListener("click",function(){document.getElementById("DTMF6"
1+B).play(),F.insertDTMF(6)},!1);var C=document.createElement("audio");C.id="DTMF7"+B,C.setAttribute("src","/scripts/zadarma/sounds/dtmf-7.wav"),C.setAttribute("preload","auto"),A.appendChild(C),document.getElementById("DTMF7"+B).load(),document.getElementById("DTMF7BTN"+B).addEventListener("click",function(){document.getElementById("DTMF7"+B).play(),F.insertDTMF(7)},!1);var k=document.createElement("audio");k.id="DTMF8"+B,k.setAttribute("src","/scripts/zadarma/sounds/dtmf-8.wav"),k.setAttribute("preload","auto"),A.appendChild(k),document.getElementById("DTMF8"+B).load(),document.getElementById("DTMF8BTN"+B).addEventListener("click",function(){document.getElementById("DTMF8"+B).play(),F.insertDTMF(8)},!1);var D=document.createElement("audio");D.id="DTMF9"+B,D.setAttribute("src","/scripts/zadarma/sounds/dtmf-9.wav"),D.setAttribute("preload","auto"),A.appendChild(D),document.getElementById("DTMF9"+B).load(),document.getElementById("DTMF9BTN"+B).addEventListener("click",function(){document.getElementById("DTMF9"+B).play(),F.insertDTMF(9)},!1);var W=document.createElement("audio");W.id="DTMF0"+B,W.setAttribute("src","/scripts/zadarma/sounds/dtmf-0.wav"),W.setAttribute("preload","auto"),A.appendChild(W),document.getElementById("DTMF0"+B).load(),document.getElementById("DTMF0BTN"+B).addEventListener("click",function(){document.getElementById("DTMF0"+B).play(),F.insertDTMF(0)},!1)}e="callme--shown";-1==(t=A.className.split(" ")).indexOf(e)&&(A.className+=" "+e);var P=0;for(var w in o.children)P<parseInt(o.children[w].offsetWidth,10)&&(P=parseInt(o.children[w].offsetWidth,10));P=parseInt(P,10)+20,o.style.width=P+"px";var U=[];Q.color_bg_call.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}
1),Q.color_bg_call_hover="rgb("+Math.floor(.85*U[0])+", "+Math.floor(.85*U[1])+", "+Math.floor(.85*U[2])+")",Q.color_call_hover=Q.color_call,Q.color_border_call.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_border_call_hover="rgb("+Math.floor(.92*U[0])+", "+Math.floor(.92*U[1])+", "+Math.floor(.92*U[2])+")",Q.color_bg_call.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_bg_call_active="rgb("+Math.floor(.7*U[0])+", "+Math.floor(.7*U[1])+", "+Math.floor(.7*U[2])+")",Q.color_call_active=Q.color_call,Q.color_border_call.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_border_call_active="rgb("+Math.floor(.85*U[0])+", "+Math.floor(.85*U[1])+", "+Math.floor(.85*U[2])+")",Q.color_bg_connection.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_bg_connection_hover="rgb("+Math.floor(.85*U[0])+", "+Math.floor(.85*U[1])+", "+Math.floor(.85*U[2])+")",Q.color_connection_hover=Q.color_connection,Q.color_border_connection.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_border_connection_hover="rgb("+Math.floor(.92*U[0])+", "+Math.floor(.92*U[1])+", "+Math.floor(.92*U[2])+")",Q.color_bg_connection.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}
1),Q.color_bg_connection_active="rgb("+Math.floor(.7*U[0])+", "+Math.floor(.7*U[1])+", "+Math.floor(.7*U[2])+")",Q.color_connection_active=Q.color_connection,Q.color_border_connection.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_border_connection_active="rgb("+Math.floor(.85*U[0])+", "+Math.floor(.85*U[1])+", "+Math.floor(.85*U[2])+")",Q.color_bg_calling.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_bg_calling_hover="rgb("+Math.floor(.85*U[0])+", "+Math.floor(.85*U[1])+", "+Math.floor(.85*U[2])+")",Q.color_calling_hover=Q.color_calling,Q.color_border_calling.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_border_calling_hover="rgb("+Math.floor(.92*U[0])+", "+Math.floor(.92*U[1])+", "+Math.floor(.92*U[2])+")",Q.color_bg_calling.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_bg_calling_active="rgb("+Math.floor(.7*U[0])+", "+Math.floor(.7*U[1])+", "+Math.floor(.7*U[2])+")",Q.color_calling_active=Q.color_calling,Q.color_border_calling.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_border_calling_active="rgb("+Math.floor(.85*U[0])+", "+
1Math.floor(.85*U[1])+", "+Math.floor(.85*U[2])+")",Q.color_bg_ended.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_bg_ended_hover="rgb("+Math.floor(.85*U[0])+", "+Math.floor(.85*U[1])+", "+Math.floor(.85*U[2])+")",Q.color_ended_hover=Q.color_ended,Q.color_border_ended.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_border_ended_hover="rgb("+Math.floor(.92*U[0])+", "+Math.floor(.92*U[1])+", "+Math.floor(.92*U[2])+")",Q.color_bg_ended.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_bg_ended_active="rgb("+Math.floor(.7*U[0])+", "+Math.floor(.7*U[1])+", "+Math.floor(.7*U[2])+")",Q.color_ended_active=Q.color_ended,Q.color_border_ended.split(",").forEach(function(e,t){U[t]=parseInt(e.replace(/[^0-9]+/gi,""),10)}),Q.color_border_ended_active="rgb("+Math.floor(.85*U[0])+", "+Math.floor(.85*U[1])+", "+Math.floor(.85*U[2])+")";var J=".z-callme-widget.callme.callme--square .callme__icon__text{font-family: "+Q.font+";}.z-callme-widget.callme.callme--default {cursor:pointer;}.z-callme-widget.callme.callme--default .callme__content {background: "+Q.color_bg_call+";box-shadow: 0 0 0 6px "+Q.color_border_call+";}.z-callme-widget.callme.callme--default .callme__icon {color: "+Q.color_call+";}.z-callme-widget.callme.callme--default .callme__content:hover {background: "+Q.color_bg_call_hover+";box-shadow: 0 0 0 6px "+Q.color_border_call_hover+";}.z-callme-widget.callme.callme--default .callme__content:hover .callme__icon {color: "+Q.color_call_hover+";}.z-callme-widget.callme.callme--default .callme__content:active {background: "+Q.color_bg_call_active+";box-shadow: 0 0 0 6px "+Q.color_border_call_active+";}.z-callme-widget.callme.callme--default .callme__content:active .callme__icon {color: "+Q.color_call_active+";}.z-callme-widget.callme.callme--connecting {cursor:pointer;}.z-callme-widget.callme.callme--connecting .callme__content {background: "+Q.color_bg_connection+";box-shadow: 0 0 0 6px "+Q.color_border_connection+";}.z-callme-widget.callme.callme--connecting .callme__icon {color: "+Q.color_connection+";}.z-callme-widget.callme.callme--connecting .callme__content:hover {background: "+Q.color_bg_connection_hover+";box-shadow: 0 0 0 6px "+Q.color_border_connection_hover+";}.z-callme-widget.callme.callme--connecting .callme__content:hover .callme__icon {color: "+Q.color_connection_hover+";}.z-callme-widget.callme.callme--connecting .callme__content:active {background: "+Q.color_bg_connection_active+";box-shadow: 0 0 0 6px "+Q.color_border_connection_active+";}.z-callme-widget.callme.callme--connecting .callme__content:active .callme__icon {color: "+Q.color_connection_active+";}.z-callme-widget.callme.callme--speaking .callme__content {background: "+Q.color_bg_calling+";box-shadow: 0 0 0 6px "+Q.color_border_calling+";}.z-callme-widget.callme.callme--speaking .callme__icon {color: "+Q.color_calling+";}"+("circle"==Q.shape?".z-callme-widget.callme.callme--speaking {cursor:pointer;}.z-callme-widget.callme.callme--speaking .callme__content:hover {background: "+Q.color_bg_calling_hover+";box-shadow: 0 0 0 6px "+Q.color_border_calling_hover+";}.z-callme-widget.callme.callme--speaking .callme__content:hover .callme__icon {color: "+Q.color_calling_hover+";}.z-callme-widget.callme.callme--speaking .callme__content:active {background: "+Q.color_bg_calling_active+";box-shadow: 0 0 0 6px "+Q.color_border_calling_active+";}.z-callme-widget.callme.callme--speaking .callme__content:active .callme__icon {color: "+Q.color_calling_active+";}":".z-callme-widget.callme.callme--speaking {pointer:default;}")+".z-callme-widget.callme.callme--finished {cursor:pointer;}.z-callme-widget.callme.callme--finished .callme__content {background: "+Q.color_bg_ended+";box-shadow: 0 0 0 6px "+Q.color_border_ended+";}.z-callme-widget.callme.callme--finished .callme__icon {color: "+Q.color_ended+";}.z-callme-widget.callme.callme--finished .callme__content:hover {background: "+Q.color_bg_ended_hover+";box-shadow: 0 0 0 6px "+Q.color_border_ended_hover+";}.z-callme-widget.callme.callme--finished .callme__content:hover .callme__icon {color: "+Q.color_ended_hover+";}.z-callme-widget.callme.callme--finished .callme__content:active {background: "+Q.color_bg_ended_active+";box-shadow: 0 0 0 6px "+Q.color_border_ended_active+";}.z-callme-widget.callme.callme--finished .callme__content:active .callme__icon {color: "+Q.color_ended_active+';}.z-callme-widget.callme{width:auto;}.z-callme-widget.callme.callme--speaking [class^="icon-"],.z-callme-widget.callme.callme--speaking [class*="icon-"]{ color:'+Q.color_calling+'}.z-callme-widget.callme.callme--speaking [class^="icon-"]:hover,.z-callme-widget.callme.callme--speaking [class*="icon-"]:hover{ color:'+Q.color_calling_hover+'}
1.z-callme-widget.callme.callme--speaking [class^="icon-"]:active,.z-callme-widget.callme.callme--speaking [class*="icon-"]:active{ color:'+Q.color_calling_active+"}.icon-finish-phone-ico{cursor:pointer;}",q=document.createElement("style");q.type="text/css",q.styleSheet?q.styleSheet.cssText=J:q.appendChild(document.createTextNode(J)),A.appendChild(q)}function n(){var e=window.MediaStream;void 0===e&&"undefined"!=typeof webkitMediaStream&&(e=webkitMediaStream),void 0===e||"stop"in e.prototype||(e.prototype.stop=function(){this.getAudioTracks().forEach(function(e){e.stop()})}),_.call(this,"ended")}function i(){C=new X,k=!1!==C&&C.createGain();var e=document.createElement("script");e.src="https://api.zadarma.com/sys/webrtc/create_callId.php?jsonpCallback="+y+".setCallId&widgetId="+Q.widgetId+"&sipId="+Q.sipId+"&language="+Q.language+"&url="+encodeURI(document.location.href).replace("#","%23"),A.appendChild(e)}function r(){var e=document.getElementById("hangup_"+B).play();void 0!==e&&e.catch(function(){console.error("User browser disabled autoplaying media - no ringing.")}).then(function(){})}function d(){var e=document.getElementById("buzyRing_"+B).play();void 0!==e&&e.catch(function(){console.error("User browser disabled autoplaying media - no ringing.")}).then(function(){})}function s(){document.getElementById("buzyRing_"+B).pause(),document.getElementById("buzyRing_"+B).currentTime=0}function m(){clearInterval(P),document.getElementById("outgoingRing_"+B).pause(),document.getElementById("outgoingRing_"+B).currentTime=0}function u(){clearInterval(P),P=setInterval(function(){var e=document.getElementById("outgoingRing_"+B).play();void 0!==e&&e.catch(function(){console.error("User browser disabled autoplaying media - no ringing.")}).then(function(){})},3e3)}function _(e){if(m.call(this),s.call(this),!0!==te){var t=ee;e?"ended"==e?ee="ended":"call"==e?ee="call":"calling"==e&&(A.removeEventListener("click",le,!1),ee="calling"):"call"==ee?(i.call(this),ee="connection"):"connection"==ee?(ee="ended",U="none"):"ended"==ee&&(ee="call"),"calling"==ee?A.removeEventListener("mousedown",le,!1):(A.removeEventListener("mousedown",le,!1),A.addEventListener("mousedown",le,!1)),t!=ee&&g.call(this,t)}else console.error("Wrong parameters of Zadarma callme widget.")}function g(e){clearTimeout(J);var t="";"call"==ee?t="callme--default":"connection"==ee?t="callme--connecting":"calling"==ee?(h.call(this),t="callme--speaking",!0===Q.dtmf&&(o.call(this,"on"),Q.dtmf_time_to_disappear>0&&(K=setTimeout(function(){o.call(this,"off")},1e3*Q.dtmf_time_to_disappear)))):"ended"==ee&&(t="callme--finished",v.call(this),"calling"==e||U&&"none"==U?(O.innerHTML=I.ended,r.call(this),f.call(this)):(O.innerHTML=I.buzy,d.call(this)),o.call(this,"off")),"call"==e?A.className=A.className.replace(/callme--default/i,t):"connection"==e?A.className=A.className.replace(/callme--connecting/i,t):"calling"==e?A.className=A.className.replace(/callme--speaking/i,t):"ended"==e&&(A.className=A.className.replace(/callme--finished/i,t)),J=setTimeout(function(){U=""},1e3)}function p(){z.on("connected",function(e){$=0,A.style.visibility="visible"}),z.on("disconnected",function(e){var t=Q.domain;$+=1,z.stop(),clearTimeout(T),$<5?T=setTimeout(function(){w.call(this,1,t)},4e3):console.error("Zadarma servers are unable at this moment. Try to connect later.")}),z.on("newRTCSession",function(e){(D=e.session).on("confirmed",function(e){if(_.call(this,"calling"),D.connection.getReceivers().length>0){var t=D.connection.getReceivers()[0].track,l=new MediaStream;t&&(l.addTrack(t),M(l))}else D.connection.getRemoteStreams().length>0&&M(D.connection.getRemoteStreams()[0]);D.connection.getSenders?F=D.connection.getSenders()[0].dtmf:D.connection.createDTMFSender&&(F=D.connection.createDTMFSender(D.connection.getSenders()[0].getAudioTracks()[0]))}),D.on("progress",function(e){183==e.response.status_code&&!1!==C&&-1==navigator.userAgent.
1search(/Firefox/)?m.call(this):u.call(this),-1!=navigator.userAgent.search(/Firefox/)&&(e.response.data=null,e.response.body=null)}),D.on("ended",function(){n.call(this)}),D.on("failed",function(e){n.call(this)}),D.on("addstream",function(e){x.srcObject=e.stream,x.onloadedmetadata=function(e){x.play()}})})}function f(){D&&D.status&&8!=D.status&&D.terminate()}function h(){Y=Math.ceil(b.call(this)/1e3),q=setInterval(function(){var e=Math.ceil(b.call(this)/1e3);G=(e-Y)%60,V=Math.floor((e-Y)/60),H.innerHTML=(V<10?"0":"")+V+":"+(G<10?"0":"")+G},1e3)}function v(){clearInterval(q),H.innerHTML="00:00"}function b(){return+new Date}function w(e,t){var l=document.createElement("script");l.src="https://api.zadarma.com/sys/webrtc/get_callmebutton_data.php?jsonpCallback="+y+".zadarmaCallback&widgetId="+Q.widgetId+"&sipId="+Q.sipId+"&language="+Q.language+(1==e?"&reconnect=1"+(t?"&domain="+t:""):""),A.appendChild(l)}function M(e){if(x.srcObject=e,x.onloadedmetadata=function(e){x.play(),!1===ae&&(x.muted=!0)},!1!==C){var t=C.createMediaStreamSource(x.srcObject);!1===ae&&(t.connect(k),k.gain.setValueAtTime(1,C.currentTime),k.connect(C.destination))}}function E(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var l=e.indexOf("rv:");return parseInt(e.substring(l+3,e.indexOf(".",l)),10)}var a=e.indexOf("Edge/");return a>0&&parseInt(e.substring(a+5,e.indexOf(".",a)),10)}var y=e;if(void 0===I)var I={};var T,z,N,C,x,k,D,F,B,A,L,S,R,O,H,W,P,Z,j,U,J,q,G,V,Y,K,Q={shape:"circle",language:"en",dtmf:!1,dtmf_position:"top",dtmf_time_to_disappear:20,dtmf_auto_show:!0,color_call:"rgb(255, 255, 255)",color_bg_call:"rgb(126, 211, 33)",color_border_call:"rgb(191, 233, 144)",color_connection:"rgb(255, 255, 255)",color_bg_connection:"rgb(33, 211, 166)",color_border_connection:"rgb(144, 233, 211)",color_calling:"rgb(255, 255, 255)",color_bg_calling:"rgb(255, 181, 0)",color_border_calling:"rgb(255, 218, 128)",color_ended:"rgb(255, 255, 255)",color_bg_ended:"rgb(164,164,164)",color_border_ended:"rgb(210, 210, 210)",font:'"Trebuchet MS", "Helvetica CY", sans-serif',txt_greeting:"",txt_nowebrtc:"",widgetId:!1,sipId:!1,domain:!1},X=window.AudioContext||window.webkitAudioContext||!1,$=0,ee="call",te=!1,le=function(){_.call(this)},ae=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||"MacIntel"==window.navigator.platform;this.setCallId=function(e){!0!==te&&(W=e.callId,(N=z.call("sip:"+Q.sipId+"@"+Q.domain,{mediaConstraints:{audio:!0,video:!1},pcConfig:{rtcpMuxPolicy:"negotiate"},extraHeaders:["callid:"+W,"widgetid: "+Q.widgetId,"language: "+("ua"==Q.language?"ru":Q.language)]})).connection.addEventListener("addstream",function(e){M(e.stream)}))},this.create=function(e,l){Q.widgetId=e.widgetId,Q.sipId=e.sipId,B=e.domElement,t.call(this,l),A=document.getElementById(B);var a=document.createElement("script");a.src="https://api.zadarma.com/sys/webrtc/check_widget_status.php?jsonpCallback="+y+".zadarmaCreate&widgetId="+Q.widgetId+"&sipId="+Q.sipId+"&language="+Q.language,A.appendChild(a)},this.zadarmaCreate=function(e){void 0===I.call&&(I=e.texts),Q.txt_greeting=e.txt_greeting,Q.txt_nowebrtc=e.txt_nowebrtc,!1===E()&&DetectRTC.isWebRTCSupported?"https:"!=document.location.protocol?(A.innerHTML=Q.txt_nowebrtc,console.error("You are trying to use Zadarma Callme Widget with http:// protocol site.")):(""!=Q.txt_greeting&&(I.call=Q.txt_greeting),e&&e.status&&1==e.status?(A.style.opacity=0,l.call(this),A.style.opacity=1,w.call(this)):(A.innerHTML=Q.txt_nowebrtc,console.error("Zadarma Callme Widget is switched off or not exists"))):(A.innerHTML=Q.txt_nowebrtc,console.error("Zadarma Callme Widget is not supported by your browser"))},this.zadarmaCallback=function(e){if(e&&e.domain){Q.domain=e.domain,Q.username=e.username,Q.pass=e.pass,JsSIP.C.USER_AGENT="Zadarma CallmeButton Widget";var t={sockets:[new JsSIP.WebSocketInterface("wss://"+Q.domain+":4443")],uri:"sip:"+Q.username+"@"+e.domain,display_name:Q.username,password:Q.pass,register:!1};(z=new JsSIP.UA(t)).start(),p.call(this)}else te=!0}}}();window.ZadarmaCallmeWidgetChannels={bvhq:{widgetId:"CS4Enc7A7sc2b71Djk7zy4ks4MuLCjn85x4McSvdk9rruzggssyy4GG7D2M8csAsTmTdd3F9ZJeaE2et4r9d9njRC8epkBua9e9ae2569c909e6438a8db40830db3ff",sipId:"303627_1"},ai:{widgetId:"UU9magVuSh1tb6Amycb3SRazB1BxyDz9c4c1Gs1pd4Cb4u7ja63FCxUez6hJz6d5kFr3Mhe8v1A5MDdNfU3jcB5rjcbtx3fme6cc680ea95d478efe601a3ccde7615d",sipId:"304666_100"},"v3-1":{tenantId:"c7207528-0dcb-4b37-8c31-dc78241eeb97",embedUrl:"https://lqt89izhch.execute-api.us-west-1.amazonaws.com/prod/v1/widget/click-to-call-embed.js"}},window.ZadarmaCallmeWidgetChannelsMatching=[{domain_type:"retail",domain_code:"*",residency:"*",channel:"v3-1",options:"default",priority:0},{domain_type:"bvhq",domain_code:"*",residency:"*",channel:"bvhq",options:"default",priority:999999999},{domain_type:"retail",domain_code:"MX",residency:"*",channel:"ai",options:"default",priority:1},{domain_type:"retail",domain_code:"IN",residency:"*",channel:"ai",options:"default",priority:1},{domain_type:"retail",domain_code:"BR",residency:"*",channel:"ai",options:"default",priority:1},{domain_type:"retail",domain_code:"CO",residency:"*",channel:"ai",options:"default",priority:1},{domain_type:"retail",domain_code:"AR",residency:"*",channel:"ai",options:"default",priority:1}],window.ZadarmaCallmeWidgetOptions=function(){var e={shape:"square",language:"en",width:"0",dtmf:!1,font:"'Trebuchet MS','Helvetica CY',sans-serif",color_call:"rgb(255, 255, 255)",color_bg_call:"rgb(126, 211, 33)",color_border_call:"rgb(191, 233, 144)",color_connection:"rgb(255, 255, 255)",color_bg_connection:"rgb(33, 211, 166)",color_border_connection:"rgb(144, 233, 211)",color_calling:"rgb(255, 255, 255)",color_border_calling:"rgb(255, 218, 128)",color_bg_calling:"rgb(255, 181, 0)",color_ended:"rgb(255, 255, 255)",color_bg_ended:"rgb(164,164,164)",color_border_ended:"rgb(210, 210, 210)"},o={};return Object.assign(o,e,{dtmf:!0,dtmf_position:"top",dtmf_time_to_disappear:"20"}),{default:e,dtmf:o}}();window.ZadarmaCallmeWidgetLoaded=!0,function(){var e=document.createEvent("Event");e.initEvent("ZadarmaCallmeWidgetLoaded",!0,!0),document.dispatchEvent(e)}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.