Inbound - Sending SIP to Twilio

文章推薦指數: 80 %
投票人數:10人

Twilio's Programmable Voice SIP product enables you to use your existing SIP communications infrastructure (e.g. IP-PBX, SBC, etc) to initiate SIP sessions ... TwilioDocs SMS Voice Runtime Video Studio Alldocs... SDKs Help Login Signup SMS Voice Runtime Video Studio Alldocs... SDKs Help Login Signup ProgrammableVoice Twilio Menu GettingStartedwithProgrammableVoice C#/.NETquickstart Javaquickstart Node.jsquickstart PHPquickstart Pythonquickstart Rubyquickstart AndroidSDKquickstart iOSSDKquickstart(Objective-CandSwift) TwilioJavaScriptSDKQuickstarts Tutorials Howtomakeoutboundphonecalls Howtorespondtoincomingphonecalls Howtomodifycallsinprogress Howtorecordphonecalls Howtocreateconferencecalls Howtogatheruserinputviakeypad Howtoretrievecalllogs Consumeareal-timeMediaStreamusingWebSockets,Python,andFlask Howtocapturepaymentduringavoicecall Howtocapturepaymentduringavoicecall(GenericPayConnector) BuildClick-to-CallintoyourWebApplication BuildanInteractiveVoiceResponse(IVR)PhoneTree BuildanIVRforScreeningandRecordingCalls BuildWarmTransferswithTwilio BuildaRapidResponseKitwithVoiceConferenceandBroadcasting Howtobuildcalltracking Howtobuildcallforwarding Howtoaddadditionalsecuritytoyourvoicerecordings BuildIn-BrowserCallingwithTwilioClient BuildanAutomatedSurveywithTwilioProgrammableVoice HowtoroutecallstoyourSIPnetworkwithanoutboundcall HowtoaddProgrammabilitytoyourexistingSIPnetwork Howtorecordasinglesideofacall HowtomakeemergencycallswithProgrammableVoice BrowseallProgrammableVoicetutorials APIReference VoiceAPIOverview ApplicationResource CallResource CallEventResource FeedbackResource FeedbackSummaryResource ArchivedCalls MediaStreams SIPREC ConferenceResource ConferenceParticipantResource DialingPermissionsResources DialingPermissionsCountryResource DialingPermissionsBulkCountryUpdateResource DialingPermissionsHighRiskSpecialPrefixResource DialingPermissionsSettingsResource OutgoingCallerID PaymentResource QueueResource MemberResource RecordingResource RecordingTranscription TwiML Overview Changelog PayConnectors GenericPayConnector Text-to-Speech VoiceConference ProgrammableVoiceSIP Overview SIPQuickstart UseSIPwithTwilioVoice Inbound-SendingSIPtoTwilio Outbound-ReceivingSIPfromTwilio SIPRegistration SecureMedia EmergencyCallingforSIPInterfaces InboundSIPREFERtoTwilio MakingSIPCalls TwiML™Voice: SIPAPI SIPAPIOverview SIPCredentialResource SIPCredentialListResource SIPCredentialListMappingResource SIPDomainResource SIPDomainRegistrationCredentialListMappingResource SIPIpAccessControlListResource SIPIpAccessControlListMappingResource SIPIpAddressResource EmergencyCallingforSIPInterfacesAPI BringYourOwnCarrier(BYOC)Trunking Overview BYOCAPI BYOCAPIOverview ByocTrunkResource ConnectionPolicyResource ConnectionPolicyTargetResource SourceIpMappingResource IpRecordResource PlatformSDKs Overview NetworkConnectivityRequirements ErrorCodes AndroidSDK Overview GettingStarted EdgeLocations UsingTwilioVoicesidebysidewithWebRTC-Android Changelog APIDocs FAQ iOSSDK Overview GettingStarted EdgeLocations UsingTwilioVoicesidebysidewithWebRTC-iOS Changelog MigratingtoiOS13 APIDocs FAQ JavaScriptSDK Overview GettingStarted Twilio.Call Twilio.Device Twilio.Device.audio Twilio.PreflightTest EdgeLocations Changelog APIReference BestPractices MigrationGuide(v2.0) Version1.xResources BestPractices&Troubleshooting ProgrammableVoiceProductBehaviorChangesinnon-us1HomeRegions HowtoShareInformationBetweenYourApplications ProtectyouraccountwithVoiceDialingGeographicPermissions TroubleshootingVoiceCalls CallandConferenceLogRetention FailoverBestPractices SHAKEN/STIR TrustedCallingwithSHAKEN/STIR SHAKEN/STIROnboarding OnboardingwithTwilioConsole TrustHubRESTAPI-DirectCustomers,noSubaccounts TrustHubRESTAPI-DirectCustomersusingSubaccounts TrustHubRESTAPI-ISVs/ResellerswithSingle,Top-LevelProject TrustHubRESTAPI-ISVs/ResellersusingSubaccounts CNAM BrandYourCallsUsingCNAM Collapse Expand Ratethispage: Overview Twilio’sProgrammableVoiceSIPproductenablesyoutouseyourexistingSIPcommunicationsinfrastructure(e.g.IP-PBX,SBC,etc)toinitiateSIPsessionswithTwilioanduseTwiMLand/ortheRESTAPIstocreateadvancedvoiceapplications.Twiliositsinthemiddle,enablingcallstoberoutedtoyourSIPcommunicationsinfrastructure,PSTN,ortobrowsersandmobileapps.ThereareafewshortstepstoconfigureTwiliotointeroperatewithyourinfrastructuresoyoucanstartbuildingandtestingyourvoiceapp. Howitworks TosendSIPtoTwilio'scloudyouneedtocreateaTwilioSIPDomain.ASIPdomainisacustomDNShostnameassociatedwithyourTwilioaccountthatcanacceptSIPtraffic.IfanyonemakesaSIPrequestusingthatdomain,(e.g.sip:[email protected]),itwillberoutedovertheinternettoTwilio.WhenaSIPrequestisreceivedbyTwilio,theSIPdomainisusedtodeterminetheauthenticationcriteriaandsubsequentlyusedtolookuptheconfiguredURLtowebhooktoyourapplicationthatwillprovideinstructionsonhowtohandletheincomingSIPcall.SeehowTwiliopassesdatatoyourapplication. GettingStarted LogintotheConsoleandselectProgrammableVoicefromtheverticalmenuontheleftsideoftheviewwhichwillbringyoutotheDashboard.NownavigatetoSIPDomains/Endpoints. Step1:CreateaTwilioVoiceSIPDomain/Endpoint ClickontheredplussymbolontheVoiceSIPEndpointsview FriendlyName ProvideafriendlynameforyourSIPDomainsuchasMyCompanySF. SIPURI/Domainname ThispropertyallowsyoutospecifyaglobaluniqueSIPDomainthatisusedtoroutetheSIPtrafficfromyourinfrastructureoverthepublicinternettothecorrectserverhostedbyTwiliointhecloud. ASIPrequestusesaSIPURIsuchasthefollowing:sip:[email protected] Twilioprocessestheincomingrequestandauthenticatesitusingyourchosenauthenticationmethod.Iftherequestisauthenticated,itwebhookstoyourrequestedURLdiscussednext.AllusersinthesameSIPdomainwebhooktothesameapplicationURL. Domainnamescancontainletters,numbers,and“-”.Bydefault,everyaccounthasitsownTwilioAccountSIDreservedasadomain. Ifyoutrytocreateadomainthatalreadyexists,youwillreceiveanerror.Creatingsubdomainsofexistingdomainsispermittedaslongasyouhavealreadycreatedtheoriginaldomain.Forexample:foo.example.sip.twilio.comcanonlybecreatedifyouhavealreadyreservedexample.sip.twilio.com. Sub-accountscancreatesubdomainsofanySIPdomaininthemasteraccount. ThereexistsaRESTAPIforcreatingDomains. LocalizedSIPURIs IfyouwishtomanuallyconnecttoaspecificgeographicEdgeLocationthatisclosestto thelocationofyourcommunicationsinfrastructure,youmaydosobypointing yourcommunicationsinfrastructuretoanyofthefollowinglocalizedSIPURIs: {example}.sip.ashburn.twilio.com(NorthAmericaVirginia) {example}.sip.umatilla.twilio.com(NorthAmericaOregon) {example}.sip.dublin.twilio.com(EuropeIreland) {example}.sip.frankfurt.twilio.com(EuropeFrankfurt) {example}.sip.singapore.twilio.com(AsiaPacificSingapore) {example}.sip.tokyo.twilio.com(AsiaPacificTokyo) {example}.sip.sao-paulo.twilio.com(SouthAmericaSãoPaulo) {example}.sip.sydney.twilio.com(AsiaPacificSydney) IfyouarelookingforalistoflegacySIPlocalizedURIs,visithere. RequestURL(webhook) PleasespecifyaURLthatpointstoyourwebapplicationthatTwiliowillinvokeuponreceiptofaSIPINVITE.TheURLmustrespondwithTwiMLthatspecifieshowtohandletheincomingcall.Alternatively,youcanspecifyaURLthatpointstoastaticTwiMLbin. BelowisaURLyoucanuseasanexampleofastaticTwiML.WhenTwilioreceivestheSIPINVITE,afterauthentication,itwillaccepttheINVITE,establishthecallandsayabriefmessagetothecaller. http://twimlets.com/message?Message%5B0%5D=Congratulations!%20You%20just%20made%20your%20first%20call%20with%20Twilio%20SIP. FallbackURL IftheRequestURLfails(forinstance,duetoaninvalidTwiML),thenoptionallyyoucanspecifythatthisURLbeinvoked. StatusCallbackURL Optionally,youcanspecifyaURLforTwiliotosendwebhookrequeststoasacallprogressesfrom,initiatedtoringingtoansweredtocompleted. Authentication AuthenticationlimitsaccesstoyourSIPDomainfromonlyapproveddevicesandusers.YoumustconfigureaminimumofeitheranAccessControlListoracredentiallist.Ifyouconfigureboth,thenbothACLsandcredentiallistsareenforced. IPAccessControlLists(ACL) Ifconfigured,thenTwiliowillonlyacceptSIPtrafficoriginatingfromtheIPsinthislist-allotherpacketswillbedropped.YoumustspecifyafullIPaddress;noIPwildcardingissupported.IPAccessControlListscanbeappliedtooneormoreSIPDomains. ThereexistsaRESTAPIforcreatingIPACLs. CredentialLists CredentialListsaresetsofusernamesandpasswordsthatwillbeacceptedbyyourSIPDomain. IfaCredentialListisconfigured,yourSIPINVITEwillbechallengedwitha407ProxyAuthenticationRequiredrequestingtheappropriateusernameandpassword. Foreachusername,youmustsetapasswordthatmeetsthefollowingminimumrequirements: Minimumof12characters Atleastonemixedcase Atleastonedigit Twiliodoesnotstorethepasswordsyouprovideforusernamesincleartext;instead,thepasswordsareMD5hashedinaccordancewiththedigestauthenticationspecification.Onceapasswordisset,Twiliodoesnotprovideawaytoretrievethestoredpassword.CredentialListscanbeappliedtooneormoreSIPDomains. ARESTAPIexistsforcreatingCredentialLists. Step2:AllowTwilio’sIPaddressesandports Toensurethatyourcommunicationsinfrastructuredoesn’tblockcommunication,youmustupdateyourallowlist.SeetheSIPdocumentationfordetails. Step3:StartsendingSIPtoyourTwilioSIPDomain NowthatTwilio’sIPsandportsareallowedinyoursystemandyourSIPDomainiscreated,youcansendSIPrequeststoTwilio.IfyouusedtheexampleURLfromStep1,youwillhear: “Congratulations!YoujustmadeyourfirstcallwithTwilioSIP.” AdvancedFeatures SIPCustomHeaders InordertobetterintegratewithremoteSIPapplications,TwilioreadstheheadersthataresentintheSIPrequestandresponsemessages.TwiliowillreadanyheadersbeginningwiththeX-andprependedwithSipHeader_prefixinrequestparameters. Youcansendmultipleparam&valuepairsaspartofthesameheader.Forexample, X-TestHeader:param1=value1;param2=value2;param3=value3 IfyousendheaderswithoutX-prefix,Twiliowillnotreadtheheader.Asaresult,theheaderwillnotbepassedintheoutput. UUI(User-to-UserInformation)Header Inordertopassthecontextualinformationofthecaller,customersuseUUI(User-to-UserInformation)headerinSIPrequestmessages.YoucanpassaUUI(User-to-User)headerthroughawebhookasaparameterforincomingcallstoTwilio. SimplyaddUUISIPheaderaspartoftheSIPmessagebeforesendingittoTwilio.Theheaderswillbesentasrequestparametersinthewebhookrequestedfromyourserver.Forexample,ifyousendthefollowingSIPheadersinyourSIPmessage: User-to-User:123456789;encoding=hex TwiliowillprependtheUUIheaderwithSipHeader_prefixinwebhookrequesttoyourserver.Forexample, SipHeader_User-to-User"123456789;encoding=hex". Ratethispage: Needsomehelp? Wealldosometimes;codeishard.Gethelpnowfromoursupportteam,orleanonthewisdomofthecrowdbyvisitingTwilio'sStackOverflowCollectiveorbrowsingtheTwiliotagonStackOverflow. YouareviewinganoutdatedversionofthisSDK. NextSample ExampleJSONresponse Thankyouforyourfeedback! Pleaseselectthereason(s)foryourfeedback.Theadditionalinformationyouprovidehelpsusimproveourdocumentation: IfapplicablefillinthecountrieswhereyouareusingTwilio Missinginformationorcode Contentisconfusingorhardtofollow Inaccurateoroutdatedinformation Brokenlinkortypo Didnotsolvemyproblem Contentiseasytofollow Solvedmyproblem Other Sendyoursuggestions Needhelp?TalktoSupport ProtectedbyreCAPTCHA–Privacy-Terms Sendingyourfeedback... 🎉Thankyouforyourfeedback! Somethingwentwrong.Pleasetryagain. Thanksforyourfeedback! Referusandget$10in3simplesteps! Step1 Getlink Getafreepersonalreferrallinkhere Step2 Give$10 Yourusersignsupandupgradeusinglink Step3 Get$10 1,250freeSMSesOR1,000freevoiceminsOR12,000chatsORmore Learnmoreaboutthereferralprogram



請為這篇文章評分?