public void GetMMSSettingTest() { string siteId = "1"; string sipPeerId = "test"; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "GET", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/features/mms", ContentToSend = new StringContent(TestXmlStrings.MmsFeatureResponse, Encoding.UTF8, "application/xml") } })) { var client = Helper.CreateClient(); var r = SipPeer.GetMMSSetting(siteId, sipPeerId).Result; if (server.Error != null) { throw server.Error; } Assert.IsNotNull(r.MmsFeature); Assert.AreEqual("OFF", r.MmsFeature.Protocols.MM4.Tls); Assert.AreEqual(1, r.MmsFeature.Protocols.MM4.MmsMM4TermHosts.TermHosts.Length); Assert.AreEqual("206.107.248.58", r.MmsFeature.Protocols.MM4.MmsMM4TermHosts.TermHosts[0].HostName); Assert.AreEqual(2, r.MmsFeature.Protocols.MM4.MmsMM4OrigHosts.OrigHosts.Length); Assert.AreEqual("30.239.72.55", r.MmsFeature.Protocols.MM4.MmsMM4OrigHosts.OrigHosts[0].HostName); Assert.AreEqual(8726, r.MmsFeature.Protocols.MM4.MmsMM4OrigHosts.OrigHosts[0].Port); Assert.AreEqual(0, r.MmsFeature.Protocols.MM4.MmsMM4OrigHosts.OrigHosts[0].Priority); } }
public void UpdateMMSSettingTest() { string siteId = "1"; string sipPeerId = "test"; var MmsFeature = new MmsFeature { Protocols = new Protocols { MM4 = new MM4 { Tls = "OFF" } } }; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "PUT", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/features/mms", ContentToSend = new StringContent(TestXmlStrings.SipPeerSmsFeatureResponse, Encoding.UTF8, "application/xml") } })) { var client = Helper.CreateClient(); SipPeer.UpdateMMSSettings(siteId, sipPeerId, MmsFeature).Wait(); if (server.Error != null) { throw server.Error; } } }
public void UpdateTerminationSettingsTest() { string siteId = "1"; string sipPeerId = "test"; var SipPeerTerminationSettings = new SipPeerTerminationSettings { VoiceProtocol = "HTTP", HttpSettings = new HttpSettings { HttpVoiceV2AppId = "469ebbac-4459-4d98-bc19-a038960e787f" } }; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "PUT", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/termination/settings", } })) { var client = Helper.CreateClient(); SipPeer.UpdateTerminationSettings(client, siteId, sipPeerId, SipPeerTerminationSettings).Wait(); if (server.Error != null) { throw server.Error; } } }
static async Task SipPeerDemo() { var sipPeerHost = ConfigurationManager.AppSettings["sipPeerHost"]; var newSipPeer = await SipPeer.Create(_client, new SipPeer() { IsDefaultPeer = true, ShortMessagingProtocol = "SMPP", SiteId = ConfigurationManager.AppSettings["selectedSiteId"], VoiceHosts = new [] { new HostData { HostName = sipPeerHost } }, SmsHosts = new [] { new HostData { HostName = sipPeerHost } }, TerminationHosts = new TerminationHost[] { new TerminationHost() { HostName = sipPeerHost, Port = 5060 } } }); Console.WriteLine("New SipPeer Created, ID: {0}", newSipPeer.PeerId); }
public void UpdateApplicationSettingTest() { string siteId = "1"; string sipPeerId = "test"; var ApplicationSettings = new ApplicationsSettings { HttpMessagingV2AppId = "c3b0f805-06ab-4d36-8bf4-8baff7623398" }; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "PUT", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/applicationSettings", ContentToSend = new StringContent(TestXmlStrings.ApplicationSettingsResponse, Encoding.UTF8, "application/xml") } })) { var client = Helper.CreateClient(); SipPeer.UpdateApplicationSettings(siteId, sipPeerId, ApplicationSettings).Wait(); if (server.Error != null) { throw server.Error; } } }
public void GetTerminationSettingsTest() { string siteId = "1"; string sipPeerId = "test"; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "GET", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/termination/settings", ContentToSend = new StringContent(TestXmlStrings.SipPeerTerminationSettingResponse, Encoding.UTF8, "application/xml") } })) { var client = Helper.CreateClient(); var r = SipPeer.GetTerminationSetting(siteId, sipPeerId).Result; if (server.Error != null) { throw server.Error; } Assert.IsNotNull(r.SipPeerTerminationSettings); Assert.AreEqual("HTTP", r.SipPeerTerminationSettings.VoiceProtocol); Assert.AreEqual("469ebbac-4459-4d98-bc19-a038960e787f", r.SipPeerTerminationSettings.HttpSettings.HttpVoiceV2AppId); } }
public void GetTns2WithXmlTest() { using (var server = new HttpServer(new RequestHandler { EstimatedMethod = "GET", EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/sites/1/sippeers/10/tns?page=1&size=50000", Helper.AccountId), ContentToSend = new StringContent(TestXmlStrings.ValidSipPeerTnsResponseXml, Encoding.UTF8, "application/xml") })) { var client = Helper.CreateClient(); var peer = new SipPeer { Id = "10", SiteId = "1" }; peer.SetClient(client); var result = peer.GetTns().Result; if (server.Error != null) { throw server.Error; } Assert.AreEqual(17, result.Length); Assert.AreEqual("3034162216", result[0].FullNumber); Assert.AreEqual("3034162218", result[1].FullNumber); } }
public void UpdateTnsTest() { var item = new SipPeerTelephoneNumber { FullNumber = "Number", RewriteUser = "******" }; using (var server = new HttpServer(new RequestHandler { EstimatedMethod = "PUT", EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/sites/1/sippeers/10/tns/00", Helper.AccountId), EstimatedContent = Helper.ToXmlString(item) })) { var client = Helper.CreateClient(); var peer = new SipPeer { Id = "10", SiteId = "1" }; peer.SetClient(client); peer.UpdateTns("00", item).Wait(); if (server.Error != null) { throw server.Error; } } }
public void GetTnsTest() { var item = new SipPeerTelephoneNumber { FullNumber = "Number", RewriteUser = "******" }; var response = new SipPeerTelephoneNumberResponse { SipPeerTelephoneNumber = item }; using (var server = new HttpServer(new RequestHandler { EstimatedMethod = "GET", EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/sites/1/sippeers/10/tns/00", Helper.AccountId), ContentToSend = Helper.CreateXmlContent(response) })) { var client = Helper.CreateClient(); var peer = new SipPeer { Id = "10", SiteId = "1" }; peer.SetClient(client); var result = peer.GetTns("00").Result; if (server.Error != null) { throw server.Error; } Helper.AssertObjects(item, result); } }
/// <summary> /// This method will create a Bandwidth /// /// Site which on the Bandwidth Console is a Subaccount /// /// SipPeer which on the Bandwidth Console is a location /// </summary> /// <returns></returns> static async Task createSiteAndSipPeer() { site = await Site.Create(client, new Site { Name = "BandwidthApplicationSubAccount", Address = new Address { City = "RALEIGH", HouseNumber = "900", StateCode = "NC", StreetName = "Main Campus Dr", StreetSuffix = "DR", Zip = "27606", AddressType = "Billing" } }); Console.WriteLine($"Created Site/Subaccount with ID: {site.Id}"); sipPeer = await SipPeer.Create(client, new SipPeer { SiteId = site.Id, Name = "BandwidthApplicationLocation", IsDefaultPeer = true }); Console.WriteLine($"Created SipPeer/Location with ID: {sipPeer.Id}"); }
public void GetWithDefaultClientTest() { var item = new SipPeer { Id = "10", SiteId = "1", Name = "test", IsDefaultPeer = true }; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "GET", EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/sites/1/sippeers/10", Helper.AccountId), ContentToSend = Helper.CreateXmlContent(new SipPeerResponse { SipPeer = item }) } })) { var r = SipPeer.Get("1", "10").Result; if (server.Error != null) { throw server.Error; } Helper.AssertObjects(item, r); } }
public void GetApplicationSettingTest() { string siteId = "1"; string sipPeerId = "test"; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "GET", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/applicationSettings", ContentToSend = new StringContent(TestXmlStrings.ApplicationSettingsResponse, Encoding.UTF8, "application/xml") } })) { var client = Helper.CreateClient(); var r = SipPeer.GetApplicationSetting(siteId, sipPeerId).Result; if (server.Error != null) { throw server.Error; } Assert.IsNotNull(r.ApplicationsSettings); Assert.AreEqual("4a4ca6c1-156b-4fca-84e9-34e35e2afc32", r.ApplicationsSettings.HttpMessagingV2AppId); } }
public void UpdateSMSSettingTest() { string siteId = "1"; string sipPeerId = "test"; var SipPeerSmsFeature = new SipPeerSmsFeature { SipPeerSmsFeatureSettings = new SipPeerSmsFeatureSettings { TollFree = true }, SmppHosts = new SmppHost[] { new SmppHost { HostName = "Host" } } }; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "PUT", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/features/sms", ContentToSend = new StringContent(TestXmlStrings.SipPeerSmsFeatureResponse, Encoding.UTF8, "application/xml") } })) { var client = Helper.CreateClient(); var r = SipPeer.UpdateSMSSettings(siteId, sipPeerId, SipPeerSmsFeature).Result; if (server.Error != null) { throw server.Error; } Assert.IsNotNull(r.SipPeerSmsFeature); Assert.AreEqual(true, r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.TollFree); Assert.AreEqual(true, r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.ShortCode); Assert.AreEqual("DefaultOff", r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.A2pLongCode); Assert.AreEqual("SomeMessageClass", r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.A2pMessageClass); Assert.AreEqual("SomeCampaignId", r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.A2pCampaignId); Assert.AreEqual("SMPP", r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.Protocol); Assert.AreEqual(true, r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.Zone1); Assert.AreEqual(true, r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.Zone2); Assert.AreEqual(true, r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.Zone3); Assert.AreEqual(true, r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.Zone4); Assert.AreEqual(true, r.SipPeerSmsFeature.SipPeerSmsFeatureSettings.Zone5); Assert.AreEqual(2, r.SipPeerSmsFeature.SmppHosts.Length); Assert.AreEqual("RECEIVER_ONLY", r.SipPeerSmsFeature.SmppHosts[0].ConnectionType); Assert.AreEqual("54.10.88.146", r.SipPeerSmsFeature.SmppHosts[0].HostName); Assert.AreEqual(0, r.SipPeerSmsFeature.SmppHosts[0].Priority); } }
/// <summary> /// Using the Site and SipPeer created in the createSiteAndSipPeer() /// this method will create a Messaging application and associate it with /// the newly created SipPeer (location). /// It will also add the SMS and MMS features toteh SipPeer (location) /// This makes it possible for the SipPeer (location) to be used by a Messaging Application /// </summary> /// <returns></returns> static async Task createMessageApplication() { var appMsg = await Application.Create(client, new Application { AppName = "BandwidthMsgApplication", ServiceType = "Messaging-V2", MsgCallbackUrl = "https://yourcallback.com" }); Console.WriteLine($"Created Messaging Application with ID: {appMsg.Application.ApplicationId}"); var featureSmsMsg = await SipPeer.CreateSMSSettings(client, site.Id, sipPeer.Id, new SipPeerSmsFeature { SipPeerSmsFeatureSettings = new SipPeerSmsFeatureSettings { TollFree = false, ShortCode = false, Protocol = "HTTP", Zone1 = true, Zone2 = false, Zone3 = false, Zone4 = false, Zone5 = false, }, HttpSettings = new HttpSettings { } }); Console.WriteLine("Updated SipPeer/Location with SMS Settings."); var featureMmsMsg = await SipPeer.CreateMMSSettings(client, site.Id, sipPeer.Id, new MmsFeature { MmsSettings = new MmsSettings { Protocol = "HTTP" }, Protocols = new Protocols { HTTP = new HTTP { HttpSettings = new HttpSettings { } } } }); Console.WriteLine("Updated SipPeer/Location with MMS Settings."); await SipPeer.UpdateApplicationSettings(client, site.Id, sipPeer.Id, new ApplicationsSettings { HttpMessagingV2AppId = appMsg.Application.ApplicationId }); Console.WriteLine("Updated SipPeer/Location with Messaging Application"); }
public void CreateSipPeerTest() { var item = new SipPeer { Name = "test", IsDefaultPeer = true }; var createdItem = new SipPeer { Id = "1", SiteId = "1", Name = "test", IsDefaultPeer = true }; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "POST", EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/sites/1/sippeers", Helper.AccountId), EstimatedContent = Helper.ToXmlString(item), HeadersToSend = new Dictionary <string, string> { { "Location", string.Format("/v1.0/accounts/{0}/sites/1/sippeers/10", Helper.AccountId) } }, StatusCodeToSend = 201 }, new RequestHandler { EstimatedMethod = "GET", EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/sites/1/sippeers/10", Helper.AccountId), ContentToSend = Helper.CreateXmlContent(new SipPeerResponse { SipPeer = createdItem }) } })) { var client = Helper.CreateClient(); var i = new Site { Id = "1" }; i.SetClient(client); var r = i.CreateSipPeer(item).Result; Helper.AssertObjects(createdItem, r); if (server.Error != null) { throw server.Error; } } }
public void ListTest() { var items = new[] { new SipPeer { Id = "10", SiteId = "1", Name = "test", IsDefaultPeer = true }, new SipPeer { Id = "11", SiteId = "1", Name = "test2", IsDefaultPeer = false } }; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "GET", EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/sites/1/sippeers", Helper.AccountId), ContentToSend = Helper.CreateXmlContent(new SipPeersResponse { SipPeers = items }) } })) { var client = Helper.CreateClient(); var r = SipPeer.List(client, "1").Result; if (server.Error != null) { throw server.Error; } Helper.AssertObjects(items[0], r[0]); Helper.AssertObjects(items[1], r[1]); } }
/// <summary> /// Using the Site and SipPeer created in the createSiteAndSipPeer() /// this method will create a Voice application and associate it with /// the newly created SipPeer (location). /// This is done through the SipPeer by setting the Origination Settings /// </summary> /// <returns></returns> static async Task createVoiceApplication() { var appVoice = await Application.Create(client, new Application { AppName = "BandwidthVoiceApplication", ServiceType = "Voice-V2", CallInitiatedCallbackUrl = "https://yourcallback.com" }); Console.WriteLine($"Created Voice Application with ID: {appVoice.Application.ApplicationId}"); var featureVoice = await SipPeer.SetOriginationSettings(client, site.Id, sipPeer.Id, new SipPeerOriginationSettings { VoiceProtocol = "HTTP", HttpSettings = new HttpSettings { HttpVoiceV2AppId = appVoice.Application.ApplicationId } }); Console.WriteLine("Updated SipPeer/Location with Voice Application") }
public void DeleteMMSSettingTest() { string siteId = "1"; string sipPeerId = "test"; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "DELETE", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/features/mms", } })) { var client = Helper.CreateClient(); SipPeer.DeleteMMSSettings(siteId, sipPeerId).Wait(); if (server.Error != null) { throw server.Error; } } }
public void RemoveApplicationSettingsTest() { string siteId = "1"; string sipPeerId = "test"; using (var server = new HttpServer(new[] { new RequestHandler { EstimatedMethod = "PUT", EstimatedPathAndQuery = $"/v1.0/accounts/{Helper.AccountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/applicationSettings", EstimatedContent = TestXmlStrings.RemoveApplicationResponse } })) { var client = Helper.CreateClient(); SipPeer.RemoveApplicationSettings(siteId, sipPeerId).Wait(); if (server.Error != null) { throw server.Error; } } }
public void MoveTnsTest() { using (var server = new HttpServer(new RequestHandler { EstimatedMethod = "POST", EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/sites/1/sippeers/10/movetns", Helper.AccountId), EstimatedContent = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<SipPeerTelephoneNumbers>\r\n <FullNumber>111</FullNumber>\r\n <FullNumber>222</FullNumber>\r\n</SipPeerTelephoneNumbers>" })) { var client = Helper.CreateClient(); var peer = new SipPeer { Id = "10", SiteId = "1" }; peer.SetClient(client); peer.MoveTns("111", "222").Wait(); if (server.Error != null) { throw server.Error; } } }