#my $proxy='212.190.89.137'; my $proxy='62.189.34.7'; my $me='195.129.125.73'; use IO::Socket; my $sock = new IO::Socket::INET ( PeerAddr =>$proxy, PeerPort => '5060', Proto => 'udp', ); die "Could not create socket: $!\n" unless $sock; my $callid="bb".(100000+int(rand()*100)).'@1.1.1.1'; my $branch="z9hG4bKfc89.aa".(100000+int(rand()*100)).".0"; my $invite_req= 'INVITE sip:+41216939263@'.$proxy.':5060 SIP/2.0' . "\r\n"; my $invite_hdr= 'Via: SIP/2.0/UDP '.$me.';branch='.$branch . "\r\n" . 'From: ' . "\r\n" . #'From: ' . "\r\n" . 'To: ' . "\r\n" . 'Contact: ' . "\r\n" . 'Call-ID: '.$callid . "\r\n" . 'CSeq: 61469 INVITE' . "\r\n" . 'Max-Forwards: 68' . "\r\n" . 'Content-Type: application/sdp' . "\r\n" . 'Content-Length: 236' . "\r\n" . "\r\n"; my $invite_body= 'v=0' . "\r\n" . 'o=+41215509999 8000 8000 IN IP4 128.179.67.76' . "\r\n" . 's=SIP Call' . "\r\n" . 'c=IN IP4 128.179.67.76' . "\r\n" . 't=0 0' . "\r\n" . 'm=audio 5004 RTP/AVP 4 18 97' . "\r\n" . 'a=sendrecv' . "\r\n" . 'a=rtpmap:4 G723/8000' . "\r\n" . 'a=rtpmap:18 G729/8000' . "\r\n" . 'a=rtpmap:97 iLBC/8000' . "\r\n" . 'a=fmtp:97 mode=20' . "\r\n" . 'a=ptime:60' . "\r\n"; my $cancel_req= 'CANCEL sip:+41216939263@'.$proxy.':5060 SIP/2.0' . "\r\n"; my $cancel_hdr= 'Via: SIP/2.0/UDP '.$me.';branch='.$branch . "\r\n" . 'From: ' . "\r\n" . #'From: ' . "\r\n" . 'To: ' . "\r\n" . 'Call-ID: '.$callid . "\r\n" . 'CSeq: 61469 CANCEL' . "\r\n" . 'Max-Forwards: 68' . "\r\n" . 'Content-Length: 0' . "\r\n" . "\r\n"; my $ack_req= 'ACK sip:+41216939263@'.$proxy.':5060 SIP/2.0' . "\r\n"; my $ack_hdr= 'Via: SIP/2.0/UDP '.$me.';branch='.$branch . "\r\n" . 'From: ' . "\r\n" . #'From: ' . "\r\n" . 'To: ;tag=99sa0xk' . "\r\n" . #'To: ' . "\r\n" . 'Call-ID: '.$callid . "\r\n" . 'CSeq: 61469 ACK' . "\r\n" . 'Max-Forwards: 68' . "\r\n" . 'Content-Length: 0' . "\r\n" . "\r\n"; print "branch=$branch\n"; print $sock $invite_req . $invite_hdr . $invite_body; print $invite_req; sleep 10; print $sock $cancel_req . $cancel_hdr; print $cancel_req; sleep 1; print $sock $ack_req . $ack_hdr; print $sock $ack_req . $ack_hdr; print $sock $ack_req . $ack_hdr; print $ack_req; close($sock);