The PSTN that we all know and love uses cause codes in its signaling to indicate certain events or conditions in the network. For instance, if you place a call, and the line is busy, the PSTN reports a code of 17, which means "User busy". This is a different code from
18: "No user responding"
19: "No answer from the user" or
20: "Subscriber absent"
When you connect your VOIP network using SIP to the PSTN, these cause codes are translated back and forth to SIP's status codes, which are modeled after the familiar HTTP error codes. For instance, by default, a PSTN code of 3 "No route to destination" is mapped to SIP's 404 "Not found". (You may recognize that number as the infamous error returned when you point your web browser to a page that no longer exists on a web server.) Another example is PSTN's 17 is mapped to 486 "Busy here". Also, PSTN 18, 19 and 20 (listed above) are all mapped to 480 "Temporarily unavailable".
In today's world of high-tech, war-dialing telemarketers, Internet stalkers and so forth, you may want to consider changing this default behavior. Some vendors allow you to modify the mappings so that for instance, you could return a code of "No answer" even when you're actually "Busy here". To some small extent, this can shield your organization's internal users from the "presence" detection. In other words, people can't tell if you're really there or not.
As an example, on a Cisco IOS router, you would accomplish this using the following commands:
Router(config-sip-ua)# set pstn-cause...
Router(config-sip-ua)# set sip-status...
Thomas Alexander Lancaster IV is a consultant and author with over ten years experience in the networking industry, focused on Internet infrastructure.
VoIP will be discussed at our free upcoming Networking Decisions conference, to be held in Chicago October 16-18, 2002. Click here to register for the conference.