============= Sip In ============= Getting started with Sip In =========================== If you're unfamiliar with SIP, please see the `SIP API Documentation `_ on our website. If you want to make a regular phone call, take a look at :doc:`phone-calls`. Creating a Sip Domain ===================== The :class:`Domains` resource allows you to create a new domain. To create a new domain, you'll need to choose a unique domain that lives under sip.twilio.com. .. code-block:: ruby require 'twilio-ruby' # To find these visit https://www.twilio.com/user/account account_sid = "ACXXXXXXXXXXXXXXXXX" auth_token = "YYYYYYYYYYYYYYYYYY" @client = Twilio::REST::Client.new account_sid, auth_token @domain = @client.sip.domains.create( {:friendly_name => "The Office Domain", :voice_url => "http://example.com/voice", :domain_name => "dunder-mifflin-scranton.sip.twilio.com",} ) puts @domain.sid Creating a new IpAccessControlList ================================== To control access to your new domain, you'll need to explicitly grant access to individual ip addresses. To do this, you'll first need to create an :class:`IpAccessControlList` to hold the ip addresses you wish to allow. .. code-block:: ruby require 'twilio-ruby' # To find these visit https://www.twilio.com/user/account account_sid = "ACXXXXXXXXXXXXXXXXX" auth_token = "YYYYYYYYYYYYYYYYYY" @client = Twilio::REST::Client.new account_sid, auth_token @ip_acl = @client.sip.ip_access_control_lists.create( {:friendly_name => "The Office IpAccessControlList",} ) puts @ip_acl.sid Adding a new IpAddress ========================= Now it's time to add an :class:`IpAddress` to your new :class:`IpAccessControlList`. .. code-block:: ruby require 'twilio-ruby' # To find these visit https://www.twilio.com/user/account account_sid = "ACXXXXXXXXXXXXXXXXX" auth_token = "YYYYYYYYYYYYYYYYYY" @client = Twilio::REST::Client.new account_sid, auth_token @ip_address = @client.sip.ip_access_control_lists.get( "AL456", # IpAccessControlList sid ).ip_addresses.create( {:friendly_name => "Dwights's Computer", :ip_address => "192.168.1.42",} ) puts @ip_address.sid Adding an IpAccessControlList to a Domain =========================================== Once you've created a :class:`Domain` and an :class:`IpAccessControlList` you need to associate them. To do this, create an :class:`IpAccessControlListMapping`. .. code-block:: ruby require 'twilio-ruby' # To find these visit https://www.twilio.com/user/account account_sid = "ACXXXXXXXXXXXXXXXXX" auth_token = "YYYYYYYYYYYYYYYYYY" @client = Twilio::REST::Client.new account_sid, auth_token @ip_acl_mapping = @client.sip.domains.get( "SD456", # SIP Domain sid ).ip_access_control_list_mappings.create( {:ip_access_control_list_sid => "AL789"}) puts @ip_acl_mapping.sid