本文整理汇总了C#中TropoCSharp.Tropo.Tropo类的典型用法代码示例。如果您正苦于以下问题:C# Tropo类的具体用法?C# Tropo怎么用?C# Tropo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Tropo类属于TropoCSharp.Tropo命名空间,在下文中一共展示了Tropo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
// Create a new instance of the Tropo object.
Tropo tropo = new Tropo();
// Create a transcription object to use with recording.
Transcription trancription = new Transcription();
trancription.Uri = "mailto:[email protected]";
trancription.EmailFormat = "omit";
// Set up grammar for recording.
Choices choices = new Choices();
choices.Value = "[10 DIGITS]";
choices.Terminator = "#";
// Construct a prompt to use with the recording.
Say say = new Say();
say.Value = "Please say your account number";
// Use the record() method to set up a recording.
tropo.Record(3, false, true, choices, AudioFormat.Wav, 10, 60, Method.Post, null, true, say, 5, trancription, null, "http://somehost.com/record.aspx");
// Hangup when finished.
tropo.Hangup();
// Render the JSON for Tropo to consume.
Response.Write(tropo.RenderJSON());
}
示例2: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
// Create a new instance of the Tropo object.
Tropo tropo = new Tropo();
// Set the voice to use when saying a prompt.
tropo.Voice = Voice.UsEnglishMale;
// A prompt to give the say to the recipient.
Say say = new Say("Remember you have a meeting at 2 PM");
// An ArrayList to hold the numbers to call (first call answered hears the prompt).
List<String> to = new List<String>();
to.Add("3055195825");
to.Add("3054445567");
// Create an endpoint object to denote who the call is from.
string from = "7777777777";
// Call the message method of the Tropo object and pass in values.
tropo.Message(say, to, false, Channel.Voice, from, "reminder", Network.Pstn, true, 60);
// Render the JSON for Tropo to consume.
Response.Write(tropo.RenderJSON());
}
示例3: ExecuteSession
/// <summary>
/// Must be used from an endpoint URL.
/// This will parse the active session and send the specified messages.
/// As of now, it only supports sending through the MSN Network IM
/// </summary>
/// <param name="reader"></param>
/// <param name="messages"></param>
/// <returns></returns>
public static string ExecuteSession(StreamReader reader, Dictionary<string, List<string>> messages)
{
string sessionJSON = reader.ReadToEnd();
Tropo tropo = new Tropo();
try
{
Session tropoSession = new Session(sessionJSON);
foreach (var kvp in messages)
{
string to = kvp.Key;
string from = "[email protected]";
foreach (string msg in kvp.Value)
{
tropo.Message(new Say(msg), new List<string>() { to }, false, Channel.Text, from, from, Network.Msn, false, 30);
}
}
}
catch
{
}
return tropo.RenderJSON();
}
示例4: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
// Create a new instance of the Tropo object.
Tropo tropo = new Tropo();
// Set the voice property.
tropo.Voice = Voice.UsEnglishMale;
Say say = new Say("Please record your 45 second message after the beep, press pound when complete.");
tropo.Say(say);
Record record = new Record()
{
Bargein = true,
Beep = true,
Say = new Say(""),
Format = "audio/mp3",
MaxTime = 45,
Choices = new Choices("", "dtmf", "#"),
Url = "../UploadRecording"
};
tropo.Record(record);
// Render JSON for Tropo to consume.
Response.Write(tropo.RenderJSON());
}
示例5: testAsk
public void testAsk()
{
Say say = new Say("Please enter your 5 digit zip code.");
Choices choices = new Choices("[5 DIGITS]");
Tropo tropo = new Tropo();
tropo.Ask(null, null, choices, null, "foo", null, say, null);
Assert.AreEqual(this.askJson, tropo.RenderJSON());
}
示例6: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
using (StreamReader reader = new StreamReader(Request.InputStream))
{
// Get the JSON submitted from Tropo.
string sessionJSON = TropoUtilities.parseJSON(reader);
// Create a new instance of the Tropo object.
Tropo tropo = new Tropo();
try
{
// Create a new Session object and pass in the JSON submitted from Tropo.
Session tropoSession = new Session(sessionJSON);
// Get parameters submitted with Session API call.
string sendToNumber = tropoSession.Parameters.Get("sendToNumber");
string sendFromNumber = tropoSession.Parameters.Get("sendFromNumber");
string channel = tropoSession.Parameters.Get("channel");
string network = tropoSession.Parameters.Get("network");
string msg = tropoSession.Parameters.Get("msg");
// Send an outbound message.
tropo.Call(sendToNumber, sendFromNumber, network, channel, true, 60, null, null);
tropo.Say(msg);
// Render the JSON for Tropo to consume.
Response.Write(tropo.RenderJSON());
}
catch (JsonReaderException ex)
{
EventLog log = new EventLog();
log.Source = "TROPOWEBAPI";
log.WriteEntry("Tropo WebAPI Exception " + ex.Message, EventLogEntryType.Error);
Response.StatusCode = 500;
tropo.Say("An error occured in the application. Bad JSON");
}
catch (Exception ex)
{
EventLog log = new EventLog();
log.Source = "TROPOWEBAPI";
log.WriteEntry("Tropo WebAPI Exception " + ex.Message, EventLogEntryType.Error);
Response.StatusCode = 500;
tropo.Say("An error occured in the application.");
}
finally
{
Response.Write(tropo.RenderJSON());
}
}
}
示例7: testAskWithEvents
public void testAskWithEvents()
{
Tropo tropo = new Tropo();
string[] signals = new string[] { "endCall", "tooLong" };
Say say = new Say("This is an Ask test with events. Please enter 1, 2 or 3.");
Choices choices = new Choices("1,2,3");
tropo.Ask(5, signals, false, choices, null, "test", true, say, 30);
tropo.Hangup();
Assert.AreEqual(this.askJsonWithEvents, tropo.RenderJSON());
}
示例8: testAskFromObject
public void testAskFromObject()
{
Say say = new Say("Please enter your 5 digit zip code.");
Choices choices = new Choices("[5 DIGITS]");
Ask ask = new Ask(choices, "foo", say);
Tropo tropo = new Tropo();
tropo.Ask(ask);
Assert.AreEqual(this.askJson, tropo.RenderJSON());
}
示例9: Main
static void Main(string[] args)
{
string token = "your-voice-token-goes-here";
string conferenceID = "my-test-conference";
// An array of numbers to call and join to the conference.
string[] numbersToCall = new string[] { "13034567890", "13034567891" };
// SIP endpoint for a simple Tropo JavaScript app to play a message to the conference. See README file
string conferenceTimer = "sip:[email protected]";
// the length of time to wait before playing the conference message.
int timer = 60000;
// A collection to hold the parameters we want to send to the Tropo Session API.
IDictionary<string, string> parameters = new Dictionary<String, String>();
// Instantiate a new instance of the Tropo object.
Tropo tropo = new Tropo();
// Create an XML doc to hold the response from the Tropo Session API.
XmlDocument doc = new XmlDocument();
// Add the conferencce ID to the paramters collection.
parameters.Add("conferenceID", conferenceID);
foreach (string number in numbersToCall)
{
// Add the number to call to the parameters collection.
parameters.Add("callToNumber", number);
// Make API call.
Console.WriteLine("Sending API request for: " + number);
doc.Load(tropo.CreateSession(token, parameters));
Console.WriteLine("Result: " + doc.SelectSingleNode("session/success").InnerText.ToUpper());
Console.WriteLine("Token: " + doc.SelectSingleNode("session/token").InnerText);
Console.WriteLine("=============================");
// Remove the callToNumber key so we can reset in next loop.
parameters.Remove("callToNumber");
}
// Sleep for x seconds.
Thread.Sleep(timer);
// Send reminder message to the conference.
Console.WriteLine("Sending conference time reminder.");
parameters.Add("callToNumber", conferenceTimer);
doc.Load(tropo.CreateSession(token, parameters));
Console.WriteLine("Result: " + doc.SelectSingleNode("session/success").InnerText.ToUpper());
Console.WriteLine("Token: " + doc.SelectSingleNode("session/token").InnerText);
Console.WriteLine("=============================");
Console.Read();
}
示例10: Page_Load
public void Page_Load(object sender, EventArgs args)
{
// Create a new instance of the Tropo object.
Tropo tropo = new Tropo();
// Call the say method of the Tropo object and give it a prompt to say.
tropo.say("Hello World!");
// Render the JSON for Tropo to consume.
Response.Write(TropoJSON.render(tropo));
}
示例11: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
// Create a new instance of the Tropo object.
Tropo tropo = new Tropo();
// Play an error message to the caller.
tropo.Say("I'm sorry, there was an error. Please try you call again later.");
// End the current session.
tropo.Hangup();
// Render JSON for Tropo to consume.
Response.Write(tropo.RenderJSON());
}
示例12: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
using (StreamReader reader = new StreamReader(Request.InputStream))
{
// Get the JSON submitted from Tropo.
string resultJSON = TropoUtilities.parseJSON(reader);
// Create a new instance of the Tropo object.
Tropo tropo = new Tropo();
try
{
// Create a new Result object and pass in the JSON submitted from Tropo.
Result tropoResult = new Result(resultJSON);
// Parse the Actions object and get the value property.
JContainer Actions = TropoUtilities.parseActions(tropoResult.Actions);
// Get the input submited by the user.
// This value can be used to query a database, hit a web service, etc.
// In the example, we'll simply read the number back to the caller.
string answer = TropoUtilities.removeQuotes(Actions["value"].ToString());
tropo.Say("You entered, " + TropoUtilities.addSpaces(answer) + ". Goodbye");
}
// In the event of an error in rendering the page, play an error message to the caller.
catch (JsonReaderException ex)
{
tropo.Say("An error occured. " + ex.Message);
}
catch (Exception ex)
{
tropo.Say("An error occured. " + ex.Message);
}
finally
{
// Render JSON for Tropo to consume.
tropo.Hangup();
Response.Write(tropo.RenderJSON());
}
}
}
示例13: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
using (StreamReader reader = new StreamReader(Request.InputStream))
{
// Create a new instance of the Tropo object.
Tropo tropo = new Tropo();
if (!String.IsNullOrEmpty(Request.QueryString["signal"]))
{
if (Request.QueryString["signal"] == "interruptConference")
{
tropo.Say(". Now, rejoin the conference. Press the pound key to exit without hanging up.");
tropo.Conference(Request.QueryString["confid"], false, "testConference", false, true, "#");
tropo.Say("You have now left the conference.");
tropo.Hangup();
}
else
{
tropo.Say("The call is now over. Gooddbye.");
tropo.Hangup();
}
}
else
{
// Get the JSON submitted from Tropo.
string sessionJSON = TropoUtilities.parseJSON(reader);
// Create a new Session object and pass in the JSON submitted from Tropo.
Session tropoSession = new Session(sessionJSON);
// Create a signal to end the conference.
string[] signals = new string[] { "interruptConference", "endCall" };
// Call an outbound number and create a conference.
tropo.Call(tropoSession.Parameters["callToNumber"]);
tropo.Say("Welcome to the conference.");
tropo.Conference(tropoSession.Parameters["conferenceID"], signals, false, "testConference", false, true, "#");
tropo.On("interruptConference", "Conference.aspx?signal=interruptConference&confid=" + tropoSession.Parameters["conferenceID"], new Say("You have left the conference."));
tropo.On("endCall", "Conference.aspx?signal=endCall", new Say("You have left the conference."));
}
// Render the JSON for Tropo to consume.
Response.Write(tropo.RenderJSON());
}
}
示例14: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
// Create a new instance of the Tropo object
Tropo tropo = new Tropo();
// Set the grammar to use when collecting input.
Choices choices = new Choices("[5 DIGITS]");
// Create an event handler for when the input collection is finished. Tropo will POST Result object JSON.
On on = new On(Event.Continue, "http://my-web-application-url/post", new Say("Please hold."));
// Call the ask method of the Tropo object and pass in values.
tropo.Ask(3, false, choices, null, "zip", true, new Say("Please enter your 5 digit zip code"), 5);
tropo.On(on);
// Render the JSON for Tropo to consume.
Response.Write(tropo.RenderJSON());
}
示例15: testAskWithOptions
public void testAskWithOptions()
{
Say say = new Say("Please enter your 5 digit zip code.");
Choices choices = new Choices("[5 DIGITS]");
Ask ask = new Ask();
ask.Choices = choices;
ask.Name = "foo";
ask.Say = say;
ask.Timeout = 30;
ask.Required = true;
ask.MinConfidence = 30;
ask.Attempts = 1;
ask.Bargein = false;
Tropo tropo = new Tropo();
tropo.Ask(ask);
Assert.AreEqual(this.askJsonWithOptions, tropo.RenderJSON());
}