The Rhino VoLTE TAS requires access to the HSS to acquire provisioned subscriber data for configuring network wide or subscriber specific functionality and options.
Diameter Sh interface
The Rhino VoLTE TAS requires integration with the HSS using the Diameter Sh interface to be able to acquire provisioned subscriber data.
What you need
- 
❏ The origin realm to use when sending Diameter Sh messages.
 - 
❏ The destination realm for where sent Diameter Sh messages go. This will be the HSS’s realm.
 - 
❏ The HSS destination peers' destination-hostname, port, and protocol-transport type.
 - 
❏ A sample user identity to be used for performing a health check on the interface.
 - 
❏ A unique origin host domain name for each VM in the pool to use when sending Diameter Sh messages.
 
Setting up the Diameter Sh interface
The configuration for the HSS to Rhino VoLTE TAS Diameter Sh interface is in the shcm-service-config.yaml file.
In the shcm-service section, configure the diameter-sh section.
The example configuration given here indicates the format of the required configuration.
# Service configuration for the Sh Cache Microservice
shcm-service:
    ##
    ## Diameter Sh Configuration
    ##
    diameter-sh:
        # The origin realm to use when sending messages.
        origin-realm: opencloud.com
        # The value to use as the destination realm.
        destination-realm: opencloud
        # The HSS destination peers.
        destination-peers:
            - destination-hostname: hss.opencloud.com
              port: 3868
              protocol-transport: aaa
              metric: 1
        # The user identity that is put in the diameter message to the HSS when a health check is performed
        health-check-user-identity: sip:shcm-health-check@example.com
- 
The
protocol-transportvariable is an enum. The valid values for this field are described in the reference guide’s section on Diameter Shprotocol transport type. - 
The
metricvariable is an integer that determines which peer to route to. - 
The
health-check-user-identityis a user identity that should also be configured in the HSS. This will allow health checks to query the HSS and confirm functionality without affecting non-test subscribers. 
The configuration for the Diameter Sh origin host values is in the shcm-vmpool-config.yaml file.
# This file describes the pool of Virtual Machines that comprise a "ShCM group"
deployment-config:shcm-virtual-machine-pool:
  # needs to match the deployment_id vapp parameter
  deployment-id: example
  # needs to match the site_id vApp parameter
  site-id: DC1
  # Define one or more Rhino users and give their passwords in plain-text.
  # Passwords will be encrypted by 'rvtconfig upload-config' before this file is uploaded to CDS.
  # This user is a read-only user, they can log in and see things in Rhino but do not have permission to change configuration
  # it is discouraged to log into Rhino to modify configuration using REM, instead the declarative configuration system should be used
  rhino-auth:
    - username: readonly
      password: xxxxxxxx
  virtual-machines:
    - vm-id: example-shcm-1
      diameter-sh-origin-host: shcm1.shcm.site1.mnc123.mcc530.3gppnetwork.org
    - vm-id: example-shcm-2
      diameter-sh-origin-host: shcm2.shcm.site1.mnc123.mcc530.3gppnetwork.org
- 
For each virtual machine, set the
diameter-sh-origin-hostto a unique value. 
Diameter Zh interface
The Diameter Zh interface allows IMS devices to authenticate with the network without any user interaction required.
What you need
- 
❏ The origin realm to use when sending Diameter Zh messages.
 - 
❏ The destination realm for where sent Diameter Zh messages go. This will be the HSS’s realm.
 - 
❏ The HSS destination peers' destination-hostname, port, and protocol-transport type.
 - 
❏ A unique origin host domain name for each VM in the pool to use when sending Diameter Sh messages.
 
Setting up the Diameter Zh interface
The configuration for the HSS to Rhino VoLTE TAS Diameter Zh interface is in the bsf-config.yaml file.
In the bsf section, configure the zh-diameter section.
The example configuration given here indicates the format of the required configuration.
bsf:
  zh-diameter:
    origin-realm: opencloud.com
    destination-realm: opencloud.com
    destination-peers:
      - destination-hostname: hss.opencloud.com
        port: 3868
        protocol-transport: aaa
        metric: 1
- 
The
protocol-transportvariable is an enum. The valid values for this field are described in the reference guide’s section on Diameter Zhprotocol transport type. - 
The
metricvariable is an integer that determines which peer to route to. 
The configuration for the Diameter Zh origin host values is in the mag-vmpool-config.yaml file.
# This file describes the pool of Virtual Machines that comprise a "MAG cluster"
# there are some pieces of software on this VM type that require clustering and
# knowing each other's IP addresses, for example Rhino
deployment-config:mag-virtual-machine-pool:
  # needs to match the deployment_id vapp parameter
  deployment-id: example
  # needs to match the site_id vapp parameter
  site-id: DC1
  xcap-domains:
    - xcap.site1.ims.mnc123.mcc530.pub.3gppnetwork.org
    - xcap2.site1.ims.mnc123.mcc530.pub.3gppnetwork.org
  # Define one or more Rhino users and give their passwords in plain-text.
  # Passwords will be encrypted by 'rvtconfig upload-config' before this file is uploaded to CDS.
  # This user is a read-only user, they can log in and see things in Rhino but do not have permission to change configuration
  # it is discouraged to log into Rhino to modify configuration using REM, instead the declarative configuration system should be used
  rhino-auth:
    - username: readonly
      password: xxxxxxxx
  # Define one or more REM users and give their passwords in plain-text.
  # Passwords will be encrypted by 'rvtconfig upload-config' before this file is uploaded to CDS.
  # each REM user maps to a Rhino user, when REM logs into Rhino
  rem-auth:
    - username: remreadonly
      real-name: REM read only user
      password: xxxxxxxx
  virtual-machines:
    - vm-id: example-mag-1
      rhino-node-id: 101
      diameter-zh-origin-host: mag1.mag.site1.mnc123.mcc530.3gppnetwork.org
    - vm-id: example-mag-2
      rhino-node-id: 102
      diameter-zh-origin-host: mag2.mag.site1.mnc123.mcc530.3gppnetwork.org
    - vm-id: example-mag-3
      rhino-node-id: 103
      diameter-zh-origin-host: mag3.mag.site1.mnc123.mcc530.3gppnetwork.org
- 
For each virtual machine, set the
diameter-zh-origin-hostto a unique value. 
