Note that CPL also can be used for service creation for outgoing calls. Con-
sider the following example, also taken from the CPL RFC 3880:
<?xml version=”1.0” encoding=”UTF-8”?>
<cpl xmlns=”urn:ietf:params:xml:ns:cpl”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”urn:ietf:params:xml:ns:cpl cpl.xsd “>
<outgoing>
<address-switch field=”original-destination” subfield=”tel”>
<address subdomain-of=”1900”>
<reject status=”reject”
reason=”Not allowed to make 1-900 calls.”/>
</address>
</address-switch>
</outgoing>
</cpl>
In this example, any telephony URIs that begin with 1-900- ... are rejected by
the server because they might be 900-number toll calls.
SIP Common Gateway Interface
The SIP CGI is analogous to HTTP CGI used for web server service creation.
SIP CGI is defined by an informational RFC [6], which means that it is not a
standards track protocol. For example, web page forms are usually imple-
mented using HTTP CGI scripts. In a similar way, complex services can be pro-
grammed under control of network administrators using SIP CGI. SIP CGI
runs on a SIP server that interacts with a program containing the service logic
using the CGI interface. This arrangement is shown in Figure 7.4.
Figure 7.4 SIP CGI model
SIP
User Agent
SIP
User Agent
SIP Server
Request
Response
CGI Program:
perl, C, tcl, etc.
SIP CGI
SIP Server
Request
Response
Request
Response
SIP Service Creation 147