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 AgentSIP
User AgentSIP ServerRequestResponseCGI Program:
perl, C, tcl, etc.SIP CGISIP ServerRequestResponseRequestResponseSIP Service Creation 147