r3342 - trunk/minisip/minisip/gui/textui
mafe at minisip.org
mafe at minisip.org
Thu Jun 28 15:47:25 CEST 2007
Author: mafe
Date: 2007-06-28 15:47:25 +0200 (Thu, 28 Jun 2007)
New Revision: 3342
Modified:
trunk/minisip/minisip/gui/textui/MinisipTextUI.cxx
Log:
Text ui functions to start and accept file transfers.
This has been used when evaluating MSRP as a suitable
protocol to impelement secure reliable data channels for
SIP UAs.
Modified: trunk/minisip/minisip/gui/textui/MinisipTextUI.cxx
===================================================================
--- trunk/minisip/minisip/gui/textui/MinisipTextUI.cxx 2007-06-28 13:00:38 UTC (rev 3341)
+++ trunk/minisip/minisip/gui/textui/MinisipTextUI.cxx 2007-06-28 13:47:25 UTC (rev 3342)
@@ -56,6 +56,8 @@
addCommand("enable autoanswer");
addCommand("enable debugmsgs");
addCommand("disable debugmsgs");
+ addCommand("send"); //sends a file. Give file name as argument
+ addCommand("receive"); //accepts incoming files
addCommand("hangup");
addCommand("hide packets");
addCommand("register");
@@ -169,6 +171,27 @@
displayMessage("Register to proxy "+cmd.getParam()+" OK", green);
}
+ if (cmd.getOp()=="file_transfer_done"){
+ handled=true;
+ state="IDLE";
+ setPrompt(state);
+ displayMessage("File transfer done.",red);
+ callId=""; //FIXME: should check the callId of cmd.
+ inCall=false;
+ }
+
+ if (cmd.getOp()=="incoming_filetransfer_accept"){
+ handled=true;
+ if(state=="IDLE"){
+ state="RECEIVE?";
+ setPrompt(state);
+ callId=cmd.getDestinationId();
+ displayMessage("The file transfer from "+cmd.getParam(), blue);
+ }
+ }
+
+
+
if (cmd.getOp()=="register_sent"){
handled=true; // we don't need to inform the user
}
@@ -726,6 +749,35 @@
}
+
+ if (command == "receive"){
+ CommandString c(callId, "accept_file_transfer");
+ sendCommand("sip", c);
+ displayMessage("Sent accept files command");
+ handled=true;
+ inCall = true;
+ state="RECEIVEING";
+ }
+
+
+
+ if (command.substr(0,4) == "send"){
+ string param = trim(command.substr(5));
+ vector<string> params = split(param, true, ' ');
+ if (params.size()<2){
+ displayMessage("Syntax: send <uri> <file1> [<file2> ...] ");
+ }else{
+ string uri=params[0];
+ CommandString command(callId, "start_filetransfer", uri);
+ for (int f=1; f< params.size(); f++)
+ command["filename"+itoa(f-1)]= params[f];
+ sendCommand("sip", command);
+ displayMessage("Starting file transfer...");
+ }
+ handled=true;
+ }
+
+
if (command == "join"){
CommandString command(callId, SipCommandString::accept_invite, currentcaller);
command.setParam3(currentconfname);
More information about the Minisip-devel
mailing list