Configuring Multi-Tenants on SIP Trunks

This feature allows specific global configurations for multiple tenants on SIP trunks that allow differentiated services for tenants. Configuring Multi-Tenants on SIP Trunks allows each tenant to have their own individual configurations. The configurations include timers, credentials, bind requests, and other parameters which are available under sip-ua and voice service voip/sip configurations. Multi-tenant functionality helps to create multiple configurations with ease and provides support for scalable and flexible mix of typical enterprise services.

Feature Information for Configuring Multi-Tenants on SIP Trunks

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to https://cfnng.cisco.com/. An account on Cisco.com is not required.
Feature Name

Releases

Feature Information

Support for Configuring Multi Tenants on SIP Trunks

Cisco IOS 15.6(2)T

Cisco IOS XE Denali 16.3.1

This feature allows the provision to configure specific global configurations for multiple tenants on SIP trunks.

The following commands were introduced: voice class tenant <tag> and voice-class sip tenant<tag> .

Information About Configuring Multi-tenants on SIP Trunks

With the introduction of multi-tenancy support on CUBE, the sip-specific attributes can be configured at per tenant basis in addition to the existing global or dial-peer levels.

The voice class tenant <tag> command allows sip-specific attributes to be configured at per tenant basis. The command voice class tenant <tag> can be then applied to individual dial-peers, thereby associating them to a particular tenant. See the following table "Multi-tenant Configuration List" for information on the complete list of configurations present under the voice class tenant <tag> .

If tenants are configured under dial-peer, then configurations are applied in the following order of preference.

  • Dial-peer configuration

  • Tenant configuration

  • Global configuration

That is, if the value of the attribute under dial-peer configuration is system, then the value is taken from the tenant configuration. And, if the value under the tenant configuration is also system, then the global configuration is used.

If there are no tenants configured under dial-peer, then the configurations are applied using the default behavior in the following order:

  • Dial-peer configuration

  • Global configuration

The following table lists the various configurations present under voice class tenant <tag> . For more information on specific configurations, see the Voice and Video command reference guide lists.


Note


Attributes that are not available under voice class tenant <tag> use the default behavior—With preference of dial-peer followed by the global configuration.


Table 1. Multi-Tenant Configuration List

Command

Description

aaa

SIP-UA AAA related configuration

anat

Allow alternative network address types IPv4 and IPv6

asserted-id

Configure SIP UA privacy identity settings

associate

Associate a RCB for outgoing calls

asymmetric

Configure global SIP asymmetric payload support

authentication

Digest Authentication Configuration

bandwidth

Allow SIP SDP bandwidth-related options

bind

SIP bind command

block

Block 18X response to INVITE

call-route

Configure call routing options

conn-reuse

Reuse the sip registration tcp connection for the end-point behind a Firewall

connection-reuse

Use listener port for sending requests over UDP

contact-passing

302 contact to be passed through for CFWD

content

Content carried as part of SIP message

copy-list

Configure list of entities to be sent to peer leg

credentials

User credentials for registration

disable-early-media

Disable early-media cut through

dns -a-override

Skip DNS A/AAAA query when SRV query timesout

dscp -profile

DSCP Profile global config

early-media

Configure method to handle early-media Update Request

early-offer

Configure sending Early-Offer

encap

Configure SDP encapsulation

error-code-override

Configure sip error code

error- passthru

SIP error response pass-thru functionality

exit

Exits from the voice class configuration mode

g729

G729 codec interoperability settings

handle-replaces

Handle INVITE with REPLACES header at SIP spi

header-passing

SIP Headers need to be passed to applications

help

Description of the interactive help system

history-info

History Info header support

host-registrar

Use sip-ua registrar value in Diversion and Contact header for 3xx messages

interop-handling

Enable interop-handling

localhost

Specify the DNS name for the localhost

map

Mapping options

max-forwards

Change number of max-forwards for SIP Methods

midcall -signaling

Configure method to handle mid-call signaling

nat

SIP nat global config

no

Negate a command or set its defaults

notify

SIP Signaling Notify Configuration

offer

Configure settings for Offers made from the Gateway

options-ping

Send OPTION pings to remote end

outbound-proxy

Configure an Outbound Proxy Server

pass-thru

SIP pass-through global config

permit

Permit hostname for this gateway

preloaded-route

Use pre-loaded route header for outgoing calls, if available

privacy

Configure SIP UA privacy settings

privacy-policy

Set privacy behavior for outgoing SIP messages

random-contact

Use Random Contact for outgoing calls, if available

random-request- uri

Configure options for Request-URI having random value

reason-header

Configure settings for supporting SIP Reason Header

redirection

Enable call redirection (3xx) handling

refer- ood

Configure maximum number of out-of-dialog refer made to the Gateway

referto -passing

Refer-To needs to be passed through for transfer

registrar

Configure SIP registrar VoIP Interface

registration

Enable registration options

rel1xx

Type of reliable provisional response support

remote-party-id

Enable Remote-Party-ID support in SIP User Agent

requri -passing

Request URI needs to be passed through

reset

SIP Reset Options

retry

Change default retries for each SIP Method

send

Configure outgoing message options

session

SIP Voice Protocol session config

sip-profiles

SIP Profiles global config

sip-server

Configure a SIP Server Interface

srtp

Allow SIP related SRTP options

srtp-auth

Allow to set preferred suites

tel-config

Tel format cfg for headers other than req -line in

timers

SIP Signaling Timers Configuration

update- callerid

Enable sending updates for callerid

url

Url configuration for request-line url in outgoing INVITE

video

Video related config for sip

warn-header

SIP Warning-Header global config

xfer

Transfer target configuration

How to Configure Multi-Tenants on SIP Trunks

Configuring Multi-Tenants on SIP Trunks

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. Use the following commands to configure multi-tenants:
    • voice class tenant <tag> in the global configuration mode

      Once you configure the voice class tenant <tag> command in the global mode, the configuration will move to the voice class tenant <tag> submode. You can configure all the sip-specific attributes in this submode.

    • voice-class sip tenant <tag> in the dial-peer configuration mode
  4. end

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

Use the following commands to configure multi-tenants:

  • voice class tenant <tag> in the global configuration mode

    Once you configure the voice class tenant <tag> command in the global mode, the configuration will move to the voice class tenant <tag> submode. You can configure all the sip-specific attributes in this submode.

  • voice-class sip tenant <tag> in the dial-peer configuration mode

Example:

In global configuration mode

! Configuring tenant 1
Device(config)# voice class tenant 1
Device (config-class)# ?
aaa – sip-ua AAA related configuration
anat – Allow alternative network address types IPV4 and IPV6
asserted-id – Configure SIP-UA privacy identity settings
……
……
……
Video – video related function
Warn-header – SIP related config for SIP. SIP warning-header global config.
Device (config-voi-tenant)# end
--------
! Configuring tenant 2
Device(config)# voice class tenant 2
Device (config-class)# ?
aaa – sip-ua AAA related configuration
anat – Allow alternative network address types IPV4 and IPV6
asserted-id – Configure SIP-UA privacy identity settings
……
……
outbound-proxy - Configure an Outbound Proxy Server
pass-thru  - SIP pass-through global config
……
……
srtp - Allow SIP related SRTP options
Warn-header – SIP related config for SIP. SIP warning-header global config.
Device (config-voi-tenant)# end

Example:

In dial-peer configuration mode

!Configuring tenant 1 under dial-peer 10
Device (config)# dial-peer voice 10 voip
Device (config-dial-peer)# voice-class sip tenant 1
Device (config-dial-peer)# end
-------------
!Configuring tenant 2 under dial-peer 20
Device (config)# dial-peer voice 20 voip
Device (config-dial-peer)# voice-class sip tenant 2
Device (config-dial-peer)# end


!An example for the use of the "no" form of command voice-class sip tenant
Router(config)# dial-peer voice 3000 voip
Router(config-dial-peer)# voice-class sip tenant 1
Router(config-dial-peer)# no voice-class sip tenant 1

When the no form is configured, the dial-peer is no longer associated with the tenant tag configuration. The attributes are now applied using the default order of dial-peer followed by the global configuration.

Use the voice-class sip tenant <tag> command in the global configuration mode to configure a tenant with sip-specific attributes. This command tag can then be applied to one or more dial-peers using the voice-class sip tenant <tag> command under the dial-peers.

Step 4

end

Example:


Device(config-dial-peer)# end

Returns to privileged EXEC mode.

Example: SIP Trunk Registration in Multi-Tenant Configuration

For SIP trunk registration, the voice class tenant <tag> command is not associated with any dial-peer configuration. All outgoing registrations are triggered to the Registrars when credentials are configured under voice class tenant <tag> .

Router# show run | sec tenant

Voice class tenant 1
registrar 1 ipv4:10.64.86.35:9051 expires 3600
credentials username aaaa password 7 06070E204D realm aaaa.com
outbound-proxy ipv4:10.64.86.35:9057
bind control source-interface GigabitEthernet0/0

Voice class tenant 2
registrar 1 ipv4:9.65.75.45:9052 expires 3600
credentials username bbbb password 7 110B1B0715 realm bbbb.com
outbound-proxy ipv4:10.64.86.40:9040
bind control source-interface GigabitEthernet0/1

For multi-tenancy support on Cisco Unified Border Element, you can configure voice class tenants with different credentials, but having the same registrar. In that scenario, it is recommended that you configure the CLI commands sip-server and registrar under voice class tenant configuration. The following is a sample configuration:

voice class tenant 1
 credentials number 1111 username test password 7 071B245B5D1D realm ipvoice.jp
 authentication username test password 7 06120A3258
 registrar ipv4:1.1.1.1 expires 120
 sip-server ipv4:1.1.1.1
!
voice class tenant 2
 credentials number 2222 username test password 7 09584B1E0A11 realm ipvoice.jp
 authentication username test2 password 7 071B245F5A
 registrar ipv4:1.1.1.1 expires 120
 sip-server ipv4:1.1.1.1