UNPKG

hepgen.js

Version:
1,348 lines (1,247 loc) 60.9 kB
// HEPGEN-JS SETTINGS (please configure) // ------------------------------------------------------ var rand = function(maximum,minimum,even){ var final = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; if (even && final % 2 != 0) final++; return final; } var randomByte = function() { return Math.round(Math.random()*254); } var randomIp = function() { var ip = randomByte() +'.' + randomByte() +'.' + randomByte() +'.' + randomByte(); if (isPrivate(ip)) return randomIp(); return ip; } var isPrivate = function(ip) { return /^10\.|^192\.168\.|^172\.16\.|^172\.17\.|^172\.18\.|^172\.19\.|^172\.20\.|^172\.21\.|^172\.22\.|^172\.23\.|^172\.24\.|^172\.25\.|^172\.26\.|^172\.27\.|^172\.28\.|^172\.29\.|^172\.30\.|^172\.31\./.test(ip); } var call_id = Math.random().toString(36).substring(7) + '@127.0.0.1'; var caller = 'hepgenjs'; var caller_e164 = '+'+rand(1,99)+'555'+rand(100000,999999); var callee = rand(101,199); var domain = 'sipcapture.org'; var priv_ip = '192.168.10.'+rand(10,200); var priv_nat =randomIp(); var pub_ip = randomIp(); var peer_ip='55.66.77.'+rand(80,88); var localhost = '127.0.0.1'; var useragent = 'HEPGEN.JS@sipcapture.org'; var rtpports = { src: rand(7000,8000,0), dst: rand(10000,20000,0) }; console.log("CALLID: "+call_id); // tag var config = { NAME: 'SIP B2BUA Session + Logs', HEP_SERVER: '127.0.0.1', HEP_PORT: 9060, HEP_ID: 2001, HEP_AUTH: 'myHep', // the Messages to send MESSAGES: [ { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: priv_nat, dstIp: pub_ip, srcPort: 5064, dstPort: 5060 }, pause: 250, payload: 'INVITE sip:'+callee+'@'+domain+';user=phone SIP/2.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;branch=z9hG4bK923381359;rport\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 440 INVITE\r\n'+ 'Contact: <sip:'+caller+'@'+priv_ip+':5064;user=phone>\r\n'+ 'Max-Forwards: 70\r\n'+ 'User-Agent: '+useragent+'\r\n'+ 'Privacy: none\r\n'+ 'P-Preferred-Identity: <sip:'+caller+'@'+domain+';user=phone>\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Content-Type: application/sdp\r\n'+ 'Accept: application/sdp, application/dtmf-relay\r\n'+ 'Content-Length: 313\r\n'+ '\r\n'+ 'v=0\r\n'+ 'o='+caller+' 8000 8000 IN IP4 '+priv_ip+'\r\n'+ 's=SIP Call\r\n'+ 'c=IN IP4 '+priv_ip+'\r\n'+ 't=0 0\r\n'+ 'm=audio 5004 RTP/AVP 0 8 9 18 101\r\n'+ 'a=sendrecv\r\n'+ 'a=rtpmap:0 PCMU/8000\r\n'+ 'a=ptime:20\r\n'+ 'a=rtpmap:8 PCMA/8000\r\n'+ 'a=rtpmap:9 G722/8000\r\n'+ 'a=rtpmap:18 G729/8000\r\n'+ 'a=fmtp:18 annexb=no\r\n'+ 'a=rtpmap:101 telephone-event/8000\r\n'+ 'a=fmtp:101 0-15\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5062, dstPort: 5060 }, pause: 100, payload: 'SIP/2.0 100 Trying\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK008.4171ec66f99b948ab62008e62a6491c1.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK923381359;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 440 INVITE\r\n'+ 'P-Out-Socket: udp:'+pub_ip+':5060\r\n'+ 'P-Auth-IP: '+priv_nat+'\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { // Session Log rcinfo: { type: 'HEP', version: 3, payload_type: 'SIP', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 100, srcIp: '127.0.0.1', dstIp: '127.0.0.1', srcPort: 5060, dstPort: 5080, correlation_id: call_id }, pause: 100, payload: 'INFO: <script>: NATed request detected - R=sip:'+callee+'@'+domain+';user=phone ID='+call_id }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: pub_ip, dstIp: priv_nat, srcPort: 5060, dstPort: 5064 }, pause: 250, payload: 'SIP/2.0 100 Trying\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK923381359;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 440 INVITE\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5062, dstPort: 5060 }, pause: 250, payload: 'SIP/2.0 407 Proxy Authentication Required\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK008.4171ec66f99b948ab62008e62a6491c1.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK923381359;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=1d24a28a0bded6c40d31e6db8aab9ac6.0385\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 440 INVITE\r\n'+ 'P-Out-Socket: udp:'+pub_ip+':5060\r\n'+ 'P-Auth-IP: '+priv_nat+'\r\n'+ 'P-Auth-UA: '+useragent+'\r\n'+ 'Proxy-Authenticate: Digest realm="'+domain+'", nonce="VuRZ5VbkWLkkVKJ9B1rBIN9Q3nRbqc9z"\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { // Session Log rcinfo: { type: 'HEP', version: 3, payload_type: 'SIP', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 100, srcIp: localhost, dstIp: localhost, srcPort: 5060, dstPort: 5080, correlation_id: call_id }, pause: 100, payload: 'INFO: <script>: Reply from Inbound - S=407 - Proxy Authentication Required M=INVITE IP=udp:127.0.0.1:5062 ID='+call_id }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: pub_ip, dstIp: priv_nat, srcPort: 5060, dstPort: 5064 }, pause: 250, payload: 'SIP/2.0 407 Proxy Authentication Required\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK923381359;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=1d24a28a0bded6c40d31e6db8aab9ac6.0385\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 440 INVITE\r\n'+ 'Proxy-Authenticate: Digest realm="'+domain+'", nonce="VuRZ5VbkWLkkVKJ9B1rBIN9Q3nRbqc9z"\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: priv_nat, dstIp: pub_ip, srcPort: 5064, dstPort: 5060 }, pause: 250, payload: 'ACK sip:'+callee+'@'+domain+';user=phone SIP/2.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;branch=z9hG4bK923381359;rport\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=1d24a28a0bded6c40d31e6db8aab9ac6.0385\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 440 ACK\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: priv_nat, dstIp: pub_ip, srcPort: 5064, dstPort: 5060 }, pause: 250, payload: 'INVITE sip:'+callee+'@'+domain+';user=phone SIP/2.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;branch=z9hG4bK104237110;rport\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 441 INVITE\r\n'+ 'Contact: <sip:'+caller+'@'+priv_ip+':5064;user=phone>\r\n'+ 'Proxy-Authorization: Digest username="'+caller+'", realm="'+domain+'", nonce="VuRZ5VbkWLkkVKJ9B1rBIN9Q3nRbqc9z", uri="sip:'+callee+'@'+domain+';user=phone", response="a83968423badaffff81955d3d1ba944d", algorithm=MD5\r\n'+ 'Max-Forwards: 70\r\n'+ 'User-Agent: '+useragent+'\r\n'+ 'Privacy: none\r\n'+ 'P-Preferred-Identity: <sip:'+caller+'@'+domain+';user=phone>\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Content-Type: application/sdp\r\n'+ 'Accept: application/sdp, application/dtmf-relay\r\n'+ 'Content-Length: 313\r\n'+ '\r\n'+ 'v=0\r\n'+ 'o='+caller+' 8000 8000 IN IP4 '+priv_ip+'\r\n'+ 's=SIP Call\r\n'+ 'c=IN IP4 '+priv_ip+'\r\n'+ 't=0 0\r\n'+ 'm=audio 5004 RTP/AVP 0 8 9 18 101\r\n'+ 'a=sendrecv\r\n'+ 'a=rtpmap:0 PCMU/8000\r\n'+ 'a=ptime:20\r\n'+ 'a=rtpmap:8 PCMA/8000\r\n'+ 'a=rtpmap:9 G722/8000\r\n'+ 'a=rtpmap:18 G729/8000\r\n'+ 'a=fmtp:18 annexb=no\r\n'+ 'a=rtpmap:101 telephone-event/8000\r\n'+ 'a=fmtp:101 0-15\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5060, dstPort: 5062 }, pause: 250, payload: 'ACK sip:'+callee+'@'+domain+';user=phone SIP/2.0\r\n'+ 'Max-Forwards: 10\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=415746302;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Record-Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=415746302;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK008.4171ec66f99b948ab62008e62a6491c1.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK923381359;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=1d24a28a0bded6c40d31e6db8aab9ac6.0385\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 440 ACK\r\n'+ 'Content-Length: 0\r\n'+ 'P-Src-Ip: '+priv_nat+'\r\n'+ 'P-Src-Port: 5064\r\n'+ 'P-Src-Proto: udp\r\n'+ 'P-Src-Af: 4\r\n'+ 'P-Sock-Info: udp:'+pub_ip+':5060\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5062, dstPort: 5060 }, pause: 250, payload: 'SIP/2.0 100 Trying\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK108.b3688c839f95242bceba6f2ddb22e5a8.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK104237110;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 441 INVITE\r\n'+ 'P-Out-Socket: udp:'+pub_ip+':5060\r\n'+ 'P-Auth-IP: '+priv_nat+'\r\n'+ 'P-Auth-UA: '+useragent+'\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: pub_ip, dstIp: priv_nat, srcPort: 5060, dstPort: 5064 }, pause: 250, payload: 'SIP/2.0 100 Trying\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK104237110;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 441 INVITE\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5062, dstPort: 5060 }, pause: 250, payload: 'SIP/2.0 101 Connecting\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK108.b3688c839f95242bceba6f2ddb22e5a8.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK104237110;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 441 INVITE\r\n'+ 'P-Out-Socket: udp:'+pub_ip+':5060\r\n'+ 'P-Auth-IP: '+priv_nat+'\r\n'+ 'P-Auth-UA: '+useragent+'\r\n'+ 'P-Authorization: '+caller+'\r\n'+ 'P-Authorized: 1\r\n'+ 'P-Caller-UUID: 8f38d8a9-2152-408d-ab05-c587a52bb89a\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5080, dstPort: 5062 }, pause: 250, payload: 'SIP/2.0 100 Connecting\r\n'+ 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=415746302;did=d5d.c191;mpd=ii;ice_caller=strip;ice_callee=strip;rtpprx=yes;vsf=YlB4MwAQcRpkPgIJNBwOYAhoe188D24/UEcsTigdagkbLCgy>\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Record-Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5062;branch=z9hG4bK108.7a23429f0ff569e334535fa224937400.0;received=127.0.0.1\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK108.b3688c839f95242bceba6f2ddb22e5a8.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK104237110;rport=5064\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=7DB80AAE-56E458BB0008256B-B7852700\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 441 INVITE\r\n'+ 'Server: Application Server\r\n'+ 'Contact: <sip:'+callee+'@127.0.0.1:5080>\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5080, dstPort: 5060 }, pause: 250, payload: 'INVITE sip:'+callee+'@'+peer_ip+':5060;transport=udp SIP/2.0\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKhD1m8aH6;rport\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>\r\n'+ 'CSeq: 10 INVITE\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'Contact: <sip:127.0.0.1:5080>\r\n'+ 'Route: <sip:127.0.0.1:5060;received=\'sip:'+peer_ip+':5060;transport=udp\';lr>\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Accept: application/sdp, application/dtmf-relay\r\n'+ 'P-Asserted-Identity: <sip:'+caller_e164+'@'+domain+'>\r\n'+ 'P-D-Uri: sip:127.0.0.1:5060;received=\'sip:'+peer_ip+':5060;transport=udp\'\r\n'+ 'Content-Type: application/sdp\r\n'+ 'Content-Length: 377\r\n'+ '\r\n'+ 'v=0\r\n'+ 'o='+caller+' 8000 8000 IN IP4 '+pub_ip+'\r\n'+ 's=SIP Call\r\n'+ 'c=IN IP4 '+pub_ip+'\r\n'+ 't=0 0\r\n'+ 'm=audio 31954 RTP/AVP 0 8 9 18 101\r\n'+ 'a=sendrecv\r\n'+ 'a=rtpmap:0 PCMU/8000\r\n'+ 'a=ptime:20\r\n'+ 'a=rtpmap:8 PCMA/8000\r\n'+ 'a=rtpmap:9 G722/8000\r\n'+ 'a=rtpmap:18 G729/8000\r\n'+ 'a=fmtp:18 annexb=no\r\n'+ 'a=rtpmap:101 telephone-event/8000\r\n'+ 'a=fmtp:101 0-15\r\n'+ 'a=direction:active\r\n'+ 'a=oldmediaip:'+priv_ip+'\r\n'+ 'a=rtcp:31955\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: peer_ip, dstIp: pub_ip, srcPort: 5060, dstPort: 5060 }, pause: 250, payload: 'SIP/2.0 100 Trying\r\n'+ 'Via: SIP/2.0/UDP '+pub_ip+';branch=z9hG4bK3365.2469d7e5f9b74442c0453dffe9b89adf.0\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKhD1m8aH6;rport=5080\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>\r\n'+ 'CSeq: 10 INVITE\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'User-Agent: HEPeer\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5060, dstPort: 5080 }, pause: 250, payload: 'SIP/2.0 100 Trying\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKhD1m8aH6;rport=5080\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>\r\n'+ 'CSeq: 10 INVITE\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'User-Agent: HEPeer\r\n'+ 'Content-Length: 0\r\n'+ 'P-Src-Ip: '+peer_ip+'\r\n'+ 'P-Src-Port: 5060\r\n'+ 'P-Src-Proto: udp\r\n'+ 'P-Src-Af: 4\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: peer_ip, dstIp: pub_ip, srcPort: 5060, dstPort: 5060 }, pause: 250, payload: 'SIP/2.0 100 trying -- your call is important to us\r\n'+ 'Via: SIP/2.0/UDP '+pub_ip+';branch=z9hG4bK3365.2469d7e5f9b74442c0453dffe9b89adf.0\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKhD1m8aH6;rport=5080\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>\r\n'+ 'CSeq: 10 INVITE\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'User-Agent: HEPeer\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5060, dstPort: 5080 }, pause: 250, payload: 'SIP/2.0 100 trying -- your call is important to us\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKhD1m8aH6;rport=5080\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>\r\n'+ 'CSeq: 10 INVITE\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'User-Agent: HEPeer\r\n'+ 'Content-Length: 0\r\n'+ 'P-Src-Ip: '+peer_ip+'\r\n'+ 'P-Src-Port: 5060\r\n'+ 'P-Src-Proto: udp\r\n'+ 'P-Src-Af: 4\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: peer_ip, dstIp: pub_ip, srcPort: 5060, dstPort: 5060 }, pause: 250, payload: 'SIP/2.0 200 OK\r\n'+ 'Via: SIP/2.0/UDP '+pub_ip+';branch=z9hG4bK3365.2469d7e5f9b74442c0453dffe9b89adf.0\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKhD1m8aH6;rport=5080\r\n'+ 'Record-Route: <sip:'+peer_ip+';lr;ftag=06DE7CEB-56E458BB000864AD-B855F700>\r\n'+ 'Record-Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=06DE7CEB-56E458BB000864AD-B855F700;lb=yes>\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=06DE7CEB-56E458BB000864AD-B855F700;lb=yes>\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>;tag=as6db2fc4d\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'CSeq: 10 INVITE\r\n'+ 'User-Agent: HEPeer\r\n'+ 'Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY\r\n'+ 'Supported: replaces\r\n'+ 'Contact: <sip:'+callee+'@'+peer_ip+':7070>\r\n'+ 'Content-Type: application/sdp\r\n'+ 'Content-Length: 311\r\n'+ '\r\n'+ 'v=0\r\n'+ 'o=root 11882 11882 IN IP4 '+peer_ip+'\r\n'+ 's=session\r\n'+ 'c=IN IP4 '+peer_ip+'\r\n'+ 't=0 0\r\n'+ 'm=audio 12366 RTP/AVP 8 0 18 101\r\n'+ 'a=rtpmap:8 PCMA/8000\r\n'+ 'a=rtpmap:0 PCMU/8000\r\n'+ 'a=rtpmap:18 G729/8000\r\n'+ 'a=fmtp:18 annexb=no\r\n'+ 'a=rtpmap:101 telephone-event/8000\r\n'+ 'a=fmtp:101 0-16\r\n'+ 'a=silenceSupp:off - - - -\r\n'+ 'a=ptime:20\r\n'+ 'a=sendrecv\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5060, dstPort: 5080 }, pause: 250, payload: 'SIP/2.0 200 OK\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKhD1m8aH6;rport=5080\r\n'+ 'Record-Route: <sip:'+peer_ip+';lr;ftag=06DE7CEB-56E458BB000864AD-B855F700>\r\n'+ 'Record-Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=06DE7CEB-56E458BB000864AD-B855F700;lb=yes>\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=06DE7CEB-56E458BB000864AD-B855F700;lb=yes>\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>;tag=as6db2fc4d\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'CSeq: 10 INVITE\r\n'+ 'User-Agent: HEPeer\r\n'+ 'Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY\r\n'+ 'Supported: replaces\r\n'+ 'Contact: <sip:'+callee+'@'+peer_ip+':7070>\r\n'+ 'Content-Type: application/sdp\r\n'+ 'Content-Length: 311\r\n'+ 'P-Src-Ip: '+peer_ip+'\r\n'+ 'P-Src-Port: 5060\r\n'+ 'P-Src-Proto: udp\r\n'+ 'P-Src-Af: 4\r\n'+ '\r\n'+ 'v=0\r\n'+ 'o=root 11882 11882 IN IP4 '+peer_ip+'\r\n'+ 's=session\r\n'+ 'c=IN IP4 '+peer_ip+'\r\n'+ 't=0 0\r\n'+ 'm=audio 12366 RTP/AVP 8 0 18 101\r\n'+ 'a=rtpmap:8 PCMA/8000\r\n'+ 'a=rtpmap:0 PCMU/8000\r\n'+ 'a=rtpmap:18 G729/8000\r\n'+ 'a=fmtp:18 annexb=no\r\n'+ 'a=rtpmap:101 telephone-event/8000\r\n'+ 'a=fmtp:101 0-16\r\n'+ 'a=silenceSupp:off - - - -\r\n'+ 'a=ptime:20\r\n'+ 'a=sendrecv\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: pub_ip, dstIp: priv_nat, srcPort: 5060, dstPort: 5064 }, pause: 250, payload: 'SIP/2.0 200 OK\r\n'+ 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=415746302;did=d5d.c191;mpd=ii;ice_caller=strip;ice_callee=strip;rtpprx=yes;vsf=YlB4MwAQcRpkPgIJNBwOYAhoe188D24/UEcsTigdagkbLCgy>\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Record-Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK104237110;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=7DB80AAE-56E458BB0008256B-B7852700\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 441 INVITE\r\n'+ 'User-Agent: HEPeer\r\n'+ 'Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY\r\n'+ 'Supported: replaces\r\n'+ 'Content-Type: application/sdp\r\n'+ 'Content-Length: 329\r\n'+ 'Contact: <sip:lb@'+pub_ip+':5060;ngcpct=c2lwOjEyNy4wLjAuMTo1MDgw>\r\n'+ '\r\n'+ 'v=0\r\n'+ 'o=root 11882 11882 IN IP4 '+pub_ip+'\r\n'+ 's=session\r\n'+ 'c=IN IP4 '+pub_ip+'\r\n'+ 't=0 0\r\n'+ 'm=audio 31956 RTP/AVP 8 0 18 101\r\n'+ 'a=rtpmap:8 PCMA/8000\r\n'+ 'a=rtpmap:0 PCMU/8000\r\n'+ 'a=rtpmap:18 G729/8000\r\n'+ 'a=fmtp:18 annexb=no\r\n'+ 'a=rtpmap:101 telephone-event/8000\r\n'+ 'a=fmtp:101 0-16\r\n'+ 'a=silenceSupp:off - - - -\r\n'+ 'a=ptime:20\r\n'+ 'a=sendrecv\r\n'+ 'a=rtcp:31957\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: priv_nat, dstIp: pub_ip, srcPort: 5064, dstPort: 5060 }, pause: 250, payload: 'ACK sip:lb@'+pub_ip+':5060;ngcpct=c2lwOjEyNy4wLjAuMTo1MDgw SIP/2.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;branch=z9hG4bK1536455165;rport\r\n'+ 'Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Route: <sip:127.0.0.1;r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Route: <sip:127.0.0.1:5062;lr=on;ftag=415746302;did=d5d.c191;mpd=ii;ice_caller=strip;ice_callee=strip;rtpprx=yes;vsf=YlB4MwAQcRpkPgIJNBwOYAhoe188D24/UEcsTigdagkbLCgy>\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=7DB80AAE-56E458BB0008256B-B7852700\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 441 ACK\r\n'+ 'Contact: <sip:'+caller+'@'+priv_ip+':5064;user=phone>\r\n'+ 'Proxy-Authorization: Digest username="'+caller+'", realm="'+domain+'", nonce="VuRZ5VbkWLkkVKJ9B1rBIN9Q3nRbqc9z", uri="sip:'+callee+'@'+domain+';user=phone", response="a83968423badaffff81955d3d1ba944d", algorithm=MD5\r\n'+ 'Max-Forwards: 70\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'User-Agent: '+useragent+'\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5062, dstPort: 5080 }, pause: 250, payload: 'ACK sip:127.0.0.1:5080 SIP/2.0\r\n'+ 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=415746302;rtpprx=yes>\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Record-Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5062;branch=z9hG4bK108.0fd09acb0f53e63bd1f6a6e0953c2f1d.0\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK108.5ae58236d6ead15f6ae2d0eaa55bcccd.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK1536455165;rport=5064\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=7DB80AAE-56E458BB0008256B-B7852700\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 441 ACK\r\n'+ 'Contact: <sip:'+caller+'@'+priv_ip+':5064;alias='+priv_nat+'~5064~1;user=phone>\r\n'+ 'Max-Forwards: 68\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'User-Agent: '+useragent+'\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5080, dstPort: 5060 }, pause: 250, payload: 'ACK sip:'+callee+'@'+peer_ip+':7070 SIP/2.0\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKarC4XaNK;rport\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>;tag=as6db2fc4d\r\n'+ 'CSeq: 10 ACK\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'Contact: <sip:127.0.0.1:5080>\r\n'+ 'Route: <sip:127.0.0.1;r2=on;lr=on;ftag=06DE7CEB-56E458BB000864AD-B855F700;lb=yes>, <sip:'+pub_ip+';r2=on;lr=on;ftag=06DE7CEB-56E458BB000864AD-B855F700;lb=yes>, <sip:'+peer_ip+';lr;ftag=06DE7CEB-56E458BB000864AD-B855F700>\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'User-Agent: '+useragent+'\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: pub_ip, dstIp: peer_ip, srcPort: 5060, dstPort: 5060 }, pause: 250, payload: 'ACK sip:'+callee+'@'+peer_ip+':7070 SIP/2.0\r\n'+ 'Max-Forwards: 10\r\n'+ 'Record-Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=06DE7CEB-56E458BB000864AD-B855F700;lb=yes>\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=06DE7CEB-56E458BB000864AD-B855F700;lb=yes>\r\n'+ 'Via: SIP/2.0/UDP '+pub_ip+';branch=z9hG4bK3365.4e589db6a3d69d4d4ee211444d6d8d29.0\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1:5080;branch=z9hG4bKarC4XaNK;rport=5080\r\n'+ 'From: <sip:'+caller_e164+'@'+domain+'>;tag=06DE7CEB-56E458BB000864AD-B855F700\r\n'+ 'To: <sip:'+callee+'@'+peer_ip+'>;tag=as6db2fc4d\r\n'+ 'CSeq: 10 ACK\r\n'+ 'Call-ID: '+call_id+'_b2b-1\r\n'+ 'Route: <sip:'+peer_ip+';lr;ftag=06DE7CEB-56E458BB000864AD-B855F700>\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'User-Agent: '+useragent+'\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Content-Length: 0\r\n'+ 'Contact: <sip:lb@'+pub_ip+':5060;ngcpct=c2lwOjEyNy4wLjAuMTo1MDgw>\r\n'+ '\r\n\r\n' /* RTCP REPORTS */ }, { // RTCP Report rcinfo: { type: 'HEP', version: 3, payload_type: 'JSON', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 34, srcIp: pub_ip, dstIp: peer_ip, srcPort: rtpports.src || 7000, dstPort: rtpports.dst || 10000, mos: 403, correlation_id: call_id }, pause: 400, payload: '{"CORRELATION_ID":"'+call_id+'","RTP_SIP_CALL_ID":"'+call_id+'","DELTA":19.983,"JITTER":0.017,"REPORT_TS":'+new Date().getTime()/1000+',"TL_BYTE":0,"SKEW":0.000,"TOTAL_PK":1512,"EXPECTED_PK":1512,"PACKET_LOSS":0,"SEQ":0,"MAX_JITTER":0.010,"MAX_DELTA":20.024,"MAX_SKEW":0.172,"MEAN_JITTER":0.005,"MIN_MOS":4.032, "MEAN_MOS":4.032, "MOS":4.032,"RFACTOR":80.200,"MIN_RFACTOR":80.200,"MEAN_RFACTOR":80.200,"SRC_IP":"'+pub_ip+'", "SRC_PORT":26872, "DST_IP":"'+peer_ip+'","DST_PORT":51354,"SRC_MAC":"00-30-48-7E-5D-C6","DST_MAC":"00-12-80-D7-38-5E","OUT_ORDER":0,"SSRC_CHG":0,"CODEC_PT":9, "CLOCK":8000,"CODEC_NAME":"g722","DIR":0,"REPORT_NAME":"'+pub_ip+':26872","PARTY":0,"TYPE":"PERIODIC"}' }, { // RTCP Report rcinfo: { type: 'HEP', version: 3, payload_type: 'JSON', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 34, srcIp: peer_ip, dstIp: pub_ip, srcPort: rtpports.src || 7000, dstPort: rtpports.dst || 10000, mos: 393, correlation_id: call_id }, pause: 2500, payload: '{"CORRELATION_ID":"'+call_id+'","RTP_SIP_CALL_ID":"'+call_id+'","DELTA":11.983,"JITTER":0.011,"REPORT_TS":'+new Date().getTime()/1000+',"TL_BYTE":0,"SKEW":0.000,"TOTAL_PK":1512,"EXPECTED_PK":1512,"PACKET_LOSS":0,"SEQ":0,"MAX_JITTER":0.210,"MAX_DELTA":20.124,"MAX_SKEW":0.221,"MEAN_JITTER":0.305,"MIN_MOS":3.932, "MEAN_MOS":3.932, "MOS":3.932,"RFACTOR":77.100,"MIN_RFACTOR":77.100,"MEAN_RFACTOR":77.100,"SRC_IP":"'+peer_ip+'", "SRC_PORT":26872, "DST_IP":"'+peer_ip+'","DST_PORT":51354,"SRC_MAC":"00-30-48-7E-5D-C6","DST_MAC":"00-12-80-D7-38-5E","OUT_ORDER":0,"SSRC_CHG":0,"CODEC_PT":9, "CLOCK":8000,"CODEC_NAME":"g722","DIR":0,"REPORT_NAME":"'+peer_ip+':26872","PARTY":0,"TYPE":"PERIODIC"}' }, { // RTCP Report rcinfo: { type: 'HEP', version: 3, payload_type: 'JSON', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 34, srcIp: pub_ip, dstIp: peer_ip, srcPort: rtpports.src || 7000, dstPort: rtpports.dst || 10000, mos: 393, correlation_id: call_id }, pause: 2500, payload: '{"CORRELATION_ID":"'+call_id+'","RTP_SIP_CALL_ID":"'+call_id+'","DELTA":19.983,"JITTER":0.017,"REPORT_TS":'+new Date().getTime()/1000+',"TL_BYTE":0,"SKEW":0.000,"TOTAL_PK":1511,"EXPECTED_PK":1512,"PACKET_LOSS":1,"SEQ":0,"MAX_JITTER":0.010,"MAX_DELTA":20.024,"MAX_SKEW":0.172,"MEAN_JITTER":0.005,"MIN_MOS":4.032, "MEAN_MOS":4.032, "MOS":4.032,"RFACTOR":80.200,"MIN_RFACTOR":80.200,"MEAN_RFACTOR":80.200,"SRC_IP":"'+pub_ip+'", "SRC_PORT":26872, "DST_IP":"'+peer_ip+'","DST_PORT":51354,"SRC_MAC":"00-30-48-7E-5D-C6","DST_MAC":"00-12-80-D7-38-5E","OUT_ORDER":0,"SSRC_CHG":0,"CODEC_PT":9, "CLOCK":8000,"CODEC_NAME":"g722","DIR":0,"REPORT_NAME":"'+pub_ip+':26872","PARTY":0,"TYPE":"PERIODIC"}' }, { // RTCP Report rcinfo: { type: 'HEP', version: 3, payload_type: 'JSON', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 34, srcIp: peer_ip, dstIp: pub_ip, srcPort: rtpports.src || 7000, dstPort: rtpports.dst || 10000, mos: 402, correlation_id: call_id }, pause: 2500, payload: '{"CORRELATION_ID":"'+call_id+'","RTP_SIP_CALL_ID":"'+call_id+'","DELTA":11.983,"JITTER":0.011,"REPORT_TS":'+new Date().getTime()/1000+',"TL_BYTE":0,"SKEW":0.000,"TOTAL_PK":1512,"EXPECTED_PK":1512,"PACKET_LOSS":0,"SEQ":0,"MAX_JITTER":0.210,"MAX_DELTA":20.124,"MAX_SKEW":0.221,"MEAN_JITTER":0.305,"MIN_MOS":3.932, "MEAN_MOS":3.932, "MOS":3.932,"RFACTOR":77.100,"MIN_RFACTOR":77.100,"MEAN_RFACTOR":77.100,"SRC_IP":"'+peer_ip+'", "SRC_PORT":26872, "DST_IP":"'+peer_ip+'","DST_PORT":51354,"SRC_MAC":"00-30-48-7E-5D-C6","DST_MAC":"00-12-80-D7-38-5E","OUT_ORDER":0,"SSRC_CHG":0,"CODEC_PT":9, "CLOCK":8000,"CODEC_NAME":"g722","DIR":0,"REPORT_NAME":"'+peer_ip+':26872","PARTY":0,"TYPE":"PERIODIC"}' }, { // RTCP Report rcinfo: { type: 'HEP', version: 3, payload_type: 'JSON', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 34, srcIp: pub_ip, dstIp: peer_ip, srcPort: rtpports.src || 7000, dstPort: rtpports.dst || 10000, mos: 393, correlation_id: call_id }, pause: 2500, payload: '{"CORRELATION_ID":"'+call_id+'","RTP_SIP_CALL_ID":"'+call_id+'","DELTA":19.983,"JITTER":0.017,"REPORT_TS":'+new Date().getTime()/1000+',"TL_BYTE":0,"SKEW":0.000,"TOTAL_PK":1511,"EXPECTED_PK":1512,"PACKET_LOSS":1,"SEQ":0,"MAX_JITTER":0.010,"MAX_DELTA":20.024,"MAX_SKEW":0.172,"MEAN_JITTER":0.005,"MIN_MOS":4.032, "MEAN_MOS":4.032, "MOS":4.032,"RFACTOR":80.200,"MIN_RFACTOR":80.200,"MEAN_RFACTOR":80.200,"SRC_IP":"'+pub_ip+'", "SRC_PORT":26872, "DST_IP":"'+peer_ip+'","DST_PORT":51354,"SRC_MAC":"00-30-48-7E-5D-C6","DST_MAC":"00-12-80-D7-38-5E","OUT_ORDER":0,"SSRC_CHG":0,"CODEC_PT":9, "CLOCK":8000,"CODEC_NAME":"g722","DIR":0,"REPORT_NAME":"'+pub_ip+':26872","PARTY":0,"TYPE":"PERIODIC"}' }, { // RTCP Report rcinfo: { type: 'HEP', version: 3, payload_type: 'JSON', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 35, srcIp: peer_ip, dstIp: pub_ip, srcPort: rtpports.src || 7000, dstPort: rtpports.dst || 10000, correlation_id: call_id+'_b2b-1', mos: 440 }, pause: 2500, payload: '{"CORRELATION_ID":"'+call_id+'", "RTP_SIP_CALL_ID":"'+call_id+'","MOS":4.409,"RFACTOR":93.200,"DIR":0,"REPORT_NAME":"'+peer_ip+'","PARTY":0,"TYPE":"PERIODIC"}' }, { // RTCP Report rcinfo: { type: 'HEP', version: 3, payload_type: 'JSON', captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 35, srcIp: pub_ip, dstIp: peer_ip, srcPort: rtpports.src || 7000, dstPort: rtpports.dst || 10000, correlation_id: call_id, mos: 410 }, pause: 1000, payload: '{"CORRELATION_ID":"'+call_id+'", "RTP_SIP_CALL_ID":"'+call_id+'_b2b-1","MOS":4.101,"RFACTOR":91.200,"DIR":1,"REPORT_NAME":"'+pub_ip+'","PARTY":0,"TYPE":"PERIODIC"}' /* END RTCP */ }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: priv_nat, dstIp: pub_ip, srcPort: 5064, dstPort: 5060 }, pause: 250, payload: 'BYE sip:lb@'+pub_ip+':5060;ngcpct=c2lwOjEyNy4wLjAuMTo1MDgw SIP/2.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;branch=z9hG4bK829262785;rport\r\n'+ 'Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Route: <sip:127.0.0.1;r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Route: <sip:127.0.0.1:5062;lr=on;ftag=415746302;did=d5d.c191;mpd=ii;ice_caller=strip;ice_callee=strip;rtpprx=yes;vsf=YlB4MwAQcRpkPgIJNBwOYAhoe188D24/UEcsTigdagkbLCgy>\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=7DB80AAE-56E458BB0008256B-B7852700\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 442 BYE\r\n'+ 'Contact: <sip:'+caller+'@'+priv_ip+':5064;user=phone>\r\n'+ 'Max-Forwards: 70\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'User-Agent: '+useragent+'\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5060, dstPort: 5062 }, pause: 250, payload: 'BYE sip:127.0.0.1:5080 SIP/2.0\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Record-Route: <sip:'+pub_ip+';r2=on;lr=on;ftag=415746302;nat=yes;lb=yes;socket=udp:'+pub_ip+':5060>\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bKef7.abfc04310a6de51d3c2cd97b1a12fe11.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK829262785;rport=5064\r\n'+ 'Route: <sip:127.0.0.1:5062;lr=on;ftag=415746302;did=d5d.c191;mpd=ii;ice_caller=strip;ice_callee=strip;rtpprx=yes;vsf=YlB4MwAQcRpkPgIJNBwOYAhoe188D24/UEcsTigdagkbLCgy>\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=7DB80AAE-56E458BB0008256B-B7852700\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 442 BYE\r\n'+ 'Contact: <sip:'+caller+'@'+priv_ip+':5064;alias='+priv_nat+'~5064~1;user=phone>\r\n'+ 'Max-Forwards: 69\r\n'+ 'Supported: replaces, path, timer, eventlist\r\n'+ 'User-Agent: '+useragent+'\r\n'+ 'Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE\r\n'+ 'Content-Length: 0\r\n'+ 'P-Src-Ip: '+priv_nat+'\r\n'+ 'P-Src-Port: 5064\r\n'+ 'P-Src-Proto: udp\r\n'+ 'P-Src-Af: 4\r\n'+ 'P-Sock-Info: udp:'+pub_ip+':5060\r\n'+ 'P-Src-Nat: 1\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5062, dstPort: 5060 }, pause: 100, payload: 'SIP/2.0 100 Trying\r\n'+ 'Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bKef7.abfc04310a6de51d3c2cd97b1a12fe11.0\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK829262785;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=7DB80AAE-56E458BB0008256B-B7852700\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 442 BYE\r\n'+ 'P-Out-Socket: udp:'+pub_ip+':5060\r\n'+ 'P-Auth-IP: '+priv_nat+'\r\n'+ 'P-Auth-UA: '+useragent+'\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: pub_ip, dstIp: priv_nat, srcPort: 5060, dstPort: 5064 }, pause: 250, payload: 'SIP/2.0 100 Trying\r\n'+ 'Via: SIP/2.0/UDP '+priv_ip+':5064;received='+priv_nat+';branch=z9hG4bK829262785;rport=5064\r\n'+ 'From: <sip:'+caller+'@'+domain+';user=phone>;tag=415746302\r\n'+ 'To: <sip:'+callee+'@'+domain+';user=phone>;tag=7DB80AAE-56E458BB0008256B-B7852700\r\n'+ 'Call-ID: '+call_id+'\r\n'+ 'CSeq: 442 BYE\r\n'+ 'Server: SIP Proxy\r\n'+ 'Content-Length: 0\r\n'+ '\r\n\r\n' }, { rcinfo: { type: 'HEP', version: 3, payload_type: 1, captureId: 2001, capturePass: 'myHep', ip_family: 2, protocol: 17, proto_type: 1, correlation_id: call_id, srcIp: localhost, dstIp: localhost, srcPort: 5062, dstPort: 5080 }, pause: 250, payload: 'BYE sip:127.0.0.1:5080 SIP/2.0\r\n'+ 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=415746302;rtpprx=yes>\r\n'+ 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag