Service Gateway Interface

The Service Gateway Interface (SGI) feature implements a web services interface to access the policy, subscriber, and session management functionality of the Intelligent Services Gateway (ISG). It allows application developers to author subscriber management applications using commonly available commercial and open source protocols, encoding, and toolkits.

ISG is a framework of components for the policy-based control of sessions and services on network devices. The SGI feature comprises the data model for policy and associated elements and the operational interface to provision, update, delete, and control activation of those policies.

Information About Service Gateway Interface

ISG

ISG is a Cisco IOS and Cisco IOS XE software feature set that provides a structured framework in which edge devices can deliver flexible and scalable services to subscribers. See "Overview of ISG" for further information.

BEEP

Block Extensible Exchange Protocol (BEEP) is a protocol standard that is scalable, efficient, simple, extensible, and robust. BEEP is a framework for designing application protocols.

Benefits of SGI

SGI is a protocol that allows Cisco IOS XE software to be controlled using third-party applications, toolkits, and development platforms for web services.

The SGI feature is a common model that can express ISG provisioning in many languages, and it is easy to use.

How to Enable Service Gateway Interface

Configuring BEEP Listener Connection

Perform this task to enable SGI.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. sgi beep listener [ port][ acl access-list][ sasl sasl-profile][ encrypt trustpoint]
  4. end

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

sgi beep listener [ port][ acl access-list][ sasl sasl-profile][ encrypt trustpoint]

Example:


Router(config)# sgi beep listener 2089

Enables the SGI feature.

Step 4

end

Example:


Router(config)# end

Exits global configuration mode.

Troubleshooting SGI

Perform this task to troubleshoot the SGI.

SUMMARY STEPS

  1. enable
  2. show sgi [session | statistics ]
  3. debug sgi [error | info | xml | gsi | isg-api | all ]
  4. test sgi xml filename

DETAILED STEPS


Step 1

enable

Enables privilege EXEC mode. Enter your password if prompted.

Step 2

show sgi [session | statistics ]

Displays information about current SGI session. This command shows information about SGI sessions that have been started and are currently running, including the running state. It also shows statistical information about SGI sessions that have been started and are currently running. The following is sample output from this command:

Example:


Router# show sgi session
sgi sessions: open 1(max 10, started 15
session id:1;started at 9:08:05; state OPEN

Router# show sgi statistics
sgi statistics
total messages received 45
current active messages 5; maximum active messages 7
total isg service requests 4
current active services 2; maximum active services 2
sgi process statistics
process sgi handler 1
pid 95, cpu percent (last minute) 1, cpu runtime 10(msec), memory accocated 4200 (bytes)

Step 3

debug sgi [error | info | xml | gsi | isg-api | all ]

Enables debugging of SGI sessions. The following is sample output from this command when all debugging has been enabled:

Example:


Router# debug sgi all
Router# show debug

SGI:
SGI All debugging is on
SGI Errors debugging is on
SGI XML debugging is on
SGI Informational debugging is on
SGI Generic Service Interface debugging is on
SGI ISG_API Events debugging is on
SGI ISG_API Errors debugging is on
Router#
Router#
*Jul 1 20:55:11.364: SGI: Session created, session Id 7
*Jul 1 20:55:11.372: sgi beep listen app beep[0x66245188]: frame_available: type=M number=1 answer=-1 more=* size=1400
*Jul 1 20:55:11.372: sgi beep listen app beep[0x66245188]: Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
...
*Jul 1 20:55:11.372: sgi beep listen app beep[0x66245188]: frame_available: type=M number=1 answer=-1 more=. size=111
*Jul 1 20:55:11.372: sgi beep listen app beep[0x66245188]: gitypes:policyGroup>
</objects>
</sgiops:insertPolicyObjectsRequest>
...
*Jul 1 20:55:11.372: SGI: GSI message received, msgid 1, session 7
*Jul 1 20:55:11.376: SGI: XML parsed successfully, request insertPolicyObjectsRequest, msgid 1
*Jul 1 20:55:11.376: SGI: authentication request sent to AAA
*Jul 1 20:55:11.376: SGI: req = [0x67454088] authentication succeeded
*Jul 1 20:55:11.376: SGI: Processing insertPolicyObjectsRequest
*Jul 1 20:55:11.376: SGI: insertPolicyObjectsRequest processing policyGroup:VPDN1, type 1, result: 0
*Jul 1 20:55:11.376: SGI: Processing insertPolicyObjectsResponse
*Jul 1 20:55:11.376: SGI: GSI message sent, msgid 1, session 7
*Jul 1 20:55:12.088: sgi beep listen app beep[0x66245188]: close confirmation: status=+ no error origin=L scope=C
*Jul 1 20:55:12.088: SGI: Session terminating, session Id 7

Step 4

test sgi xml filename

Verifies the format of an SGI XML request. The XML file must be copied to the router before it can be used.


Configuration Examples for Service Gateway Interface

Configuring BEEP Listener Connection Example

The following example shows how to configure the BEEP listener connection. The port number is set to 2089.


enable
configure terminal
sgi beep listener 2089

Additional References

Related Documents

Related Topic

Document Title

ISG commands

Cisco IOS Intelligent Services Gateway Command Reference

Overview of ISG

Cisco IOS Intelligent Services Gateway Configuration Guide

Standards

Standard

Title

None

--

MIBs

MIB

MIBs Link

  • None

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFC

Title

None

--

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/techsupport

Feature Information for Service Gateway Interface

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 www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for Service Gateway Interface

Feature Name

Releases

Feature Information

Service Gateway Interface

Cisco IOS XE Release 2.2

The SGI implements a web services interface to access the policy, subscriber, and session management functionality of ISG.

The following commands were introduced or modified: debug sgi , sgi beep listener , show sgi, test sgi xml .