Send a voice frame to force audio flow, fixes #38 - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
DIR Log
DIR Files
DIR Refs
DIR README
---
DIR commit 48debf5ff874498ac73db2273708fcd65ebe90dc
DIR parent 19c15827759ba27da70d307c63ecb6998f8e6833
HTML Author: HD Moore <x@hdm.io>
Date: Sun, 28 Feb 2016 18:56:58 -0600
Send a voice frame to force audio flow, fixes #38
Diffstat:
M lib/warvox/proto/iax2/call.rb | 1 +
M lib/warvox/proto/iax2/client.rb | 6 ++++++
2 files changed, 7 insertions(+), 0 deletions(-)
---
DIR diff --git a/lib/warvox/proto/iax2/call.rb b/lib/warvox/proto/iax2/call.rb
@@ -254,6 +254,7 @@ class Call
self.state = :answered
self.ring_finish = ::Time.now.to_i
end
+ self.client.send_voice(self, "\xff" * 160)
when IAX_CTRL_PROGRESS
dprint("PROGRESS")
DIR diff --git a/lib/warvox/proto/iax2/client.rb b/lib/warvox/proto/iax2/client.rb
@@ -153,6 +153,12 @@ class Client
send_data( call, create_pkt( call.scall, call.dcall, call.timestamp, call.oseq, call.iseq, IAX_TYPE_IAX, data ) )
end
+ def send_voice(call, audio)
+ # TODO: Replace with the server-selected codec
+ data = [IAX_CODEC_G711_MULAW].pack("C") + audio
+ send_data( call, create_pkt( call.scall, call.dcall, call.timestamp, call.oseq, call.iseq, IAX_TYPE_VOICE, data ) )
+ end
+
def send_new(call, number)
data = [ IAX_SUBTYPE_NEW ].pack('C')