Guest

Cisco IOS Software Releases 12.2 T

SIP INVITE Request with Malformed Via Header

Table Of Contents

SIP INVITE Request with Malformed Via Header

Feature Overview

Benefits

Restrictions

Related Features and Technologies

Related Documents

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Verifying SIP INVITE Request with Malformed Via Header

Command Reference

show sip-ua statistics

Glossary


SIP INVITE Request with Malformed Via Header


Document Update Alert


This document was originally produced for Cisco IOS Release 12.2(11)T. This feature has been updated in subsequent releases, and more recent documentation is available.

If you are using Cisco IOS Release 12.2(11)T or higher, refer to the following section in the Configuring SIP Message Components, Session Timers, and Responses chapter of the Cisco IOS SIP Configuration Guide, Cisco IOS Voice Configuration Library, Release 12.3:

SIP INVITE Request with Malformed Via Header


Feature History

Release
Modification

12.2(2)XB

This feature was introduced on the Cisco 2600 series, Cisco 3600 series, Cisco 7200 series, Cisco AS5300, Cisco AS5350, and Cisco AS5400 platforms.

12.2(8)T

This feature was integrated into Cisco IOS Release 12.2(8)T. The Cisco AS5300, Cisco AS5350, and Cisco AS5400 platforms were not supported in this release.

12.2(11)T

Support was added for the Cisco AS5300, Cisco AS5350, and Cisco AS5400 platforms.


This document includes the following sections:

Feature Overview

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Command Reference

Glossary

Feature Overview


Note This feature applies to messages arriving on UDP, because the Via header is not used to respond to messages arriving on TCP.


Benefits

The SIP INVITE Request with Malformed Via Header feature enhances SIP by:

Incrementing a counter and sending a response, rather than simply discarding the INVITE, if it contains a malformed Via header.

The counter provides a useful and immediate indication that an INVITE has been discarded, and the response allows the result to be propagated back to the sender.

Restrictions

Distributed Call Signaling (DCS) headers and extensions are not supported.

Related Features and Technologies

Cisco SIP Proxy Server

Cisco VoIP

Related Documents

The following documents contain information related to Cisco SIP functionality:

Cisco IOS Voice, Video, and Fax Configuration Guide,  Release 12.2

Cisco IOS Voice, Video, and Fax Command Reference,  Release 12.2

Cisco IOS IP Configuration Guide,  Release 12.2

Cisco IOS IP Command Reference, Volume 1 of 3: Addressing and Services,  Release 12.2

Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols,  Release 12.2

Cisco IOS IP Command Reference, Volume 3 of 3: Multicast,  Release 12.2

SIP call flows are described in: SIP Call Flows, Release 12.2(4)T

SIP Gateway Support of RSVP and TEL URL, Release 12.2(2)XB

Supported Platforms

Cisco 2600 series

Cisco 3600 series

Cisco AS5300 universal access server

Cisco AS5350 universal gateway

Cisco AS5400 universal gateway

Cisco 7200 series

Table 1 Cisco IOS Release and Platform Support for this Feature

Platform
12.2(2)XB
12.2(8)T
12.2(11)T

Cisco 2600 series

X

X

X

Cisco 3600 series

X

X

X

Cisco 7200 series

X

X

X

Cisco AS5300

X

Not supported

X

Cisco AS5350

X

Not supported

X

Cisco AS5400

X

Not supported

X


Determining Platform Support Through Cisco Feature Navigator

Cisco IOS software is packaged in feature sets that support specific platforms. To get updated information regarding platform support for this feature, access Cisco Feature Navigator. Cisco Feature Navigator dynamically updates the list of supported platforms as new platform support is added for the feature.

Cisco Feature Navigator is a web-based tool that enables you to determine which Cisco IOS software images support a specific set of features and which features are supported in a specific Cisco IOS image. You can search by feature or release. Under the release section, you can compare releases side by side to display both the features unique to each software release and the features in common.

To access Cisco Feature Navigator, you must have an account on Cisco.com. If you have forgotten or lost your account information, send a blank e-mail to cco-locksmith@cisco.com. An automatic check will verify that your e-mail address is registered with Cisco.com. If the check is successful, account details with a new random password will be e-mailed to you. Qualified users can establish an account on Cisco.com by following the directions at http://www.cisco.com/register.

Cisco Feature Navigator is updated regularly when major Cisco IOS software releases and technology releases occur. For the most current information, go to the Cisco Feature Navigator home page at the following URL:

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

Availability of Cisco IOS Software Images

Platform support for particular Cisco IOS software releases is dependent on the availability of the software images for those platforms. Software images for some platforms may be deferred, delayed, or changed without prior notice. For updated information about platform support and availability of software images for each Cisco IOS software release, refer to the online release notes or, if supported, Cisco Feature Navigator.


Note As of Cisco IOS Release 12.2(2)XB, Cisco Feature Navigator does not support features included in this limited-lifetime release.


Supported Standards, MIBs, and RFCs

Standards

No new or modified standards are supported by this feature.

MIBs

The response for the malformed via field will be counted in CISCO-SIP-UA-MIB by the existing object cSipStatsClientBadRequestOuts.

To obtain lists of supported MIBs by platform and Cisco IOS release, and to download MIB modules, go to the Cisco MIB website on Cisco.com at the following URL:

http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.

RFCs

RFC 2543, SIP: Session Initiation Protocol

RFC 2806, URLs for Telephone Calls

Prerequisites

The following are general prerequisites for SIP functionality.

Ensure that your Cisco 2600 series, Cisco 3600 series, or Cisco 7200 series router has 16-MB Flash memory and 64-MB DRAM memory, minimum. A Cisco AS5300 must have a minimum of 16-MB Flash memory and 128-MB DRAM memory. A Cisco AS5400 must have a minimum of 32-MB Flash memory and 256-MB DRAM memory.

Ensure the gateway has voice functionality that is configurable for SIP.

Establish a working IP network.

For more information about configuring IP, refer to:
Cisco IOS IP Configuration Guide,  Release 12.2.

Configure VoIP.

For more information about configuring VoIP, refer to:
Cisco IOS Voice, Video, and Fax Command Reference,  Release 12.2

Configuration Tasks

None

Verifying SIP INVITE Request with Malformed Via Header

This feature increments a counter (shown as Client Error: Bad Request) when a malformed Via header is received. The following example gives a sample output showing the counter.

The show sip-ua statistics command, is used to display the Bad Request counter.

Router# show sip-ua statistics
SIP Response Statistics (Inbound/Outbound)
    Informational:
      Trying 0/0, Ringing 0/0,
      Forwarded 0/0, Queued 0/0,
      SessionProgress 0/0
    Success:
      OkInvite 0/0, OkBye 0/0,
      OkCancel 0/0, OkOptions 0/0,
      OkPrack 0/0, OkPreconditionMet 0/0
    Redirection (Inbound only):
      MultipleChoice 0, MovedPermanently 0,
      MovedTemporarily 0, SeeOther 0,
      UseProxy 0, AlternateService 0
    Client Error:
      BadRequest 0/0, Unauthorized 0/0,
      PaymentRequired 0/0, Forbidden 0/0,
      NotFound 0/0, MethodNotAllowed 0/0,
      NotAcceptable 0/0, ProxyAuthReqd 0/0,
      ReqTimeout 0/0, Conflict 0/0, Gone 0/0,
      LengthRequired 0/0, ReqEntityTooLarge 0/0,
      ReqURITooLarge 0/0, UnsupportedMediaType 0/0,
      BadExtension 0/0, TempNotAvailable 0/0,
      CallLegNonExistent 0/0, LoopDetected 0/0,
      TooManyHops 0/0, AddrIncomplete 0/0,
      Ambiguous 0/0, BusyHere 0/0,
      RequestCancel 0/0, NotAcceptableMedia 0/0
    Server Error:
      InternalError 0/0, NotImplemented 0/0,
      BadGateway 0/0, ServiceUnavail 0/0,
      GatewayTimeout 0/0, BadSipVer 0/0,
      PreCondFailure 0/0
    Global Failure:
      BusyEverywhere 0/0, Decline 0/0,
      NotExistAnywhere 0/0, NotAcceptable 0/0

SIP Total Traffic Statistics (Inbound/Outbound)
    Invite 0/0, Ack 0/0, Bye 0/0,
    Cancel 0/0, Options 0/0,
    Prack 0/0, Comet 0/0

Retry Statistics
    Invite 0, Bye 0, Cancel 0, Response 0,
    Prack 0, Comet 0, Reliable1xx 0

Command Reference

This section documents a featured command. All other commands used with this feature are documented in the Cisco IOS Release 12.2 command reference publications.

show sip-ua statistics

show sip-ua statistics

To display response, traffic, and retry SIP statistics, use the show sip-ua statistics command in privileged EXEC mode.

show sip-ua statistics

Syntax Description

This command has no arguments or keywords.

Defaults

There are no default behaviors or values for this command.

Command Modes

Privileged EXEC

Command History

Release
Modification

12.1(3)T

This command was introduced.

12.2(2)XB

Command output was enhanced to display:

BadRequest counter (400 class) now counts Malformed Via entries.

Reliable provisional responses (PRACK/rel1xx).

Conditions met (COMET).

Notify responses.

12.2(8)T

This command was integrated into Cisco IOS Release 12.2(8)T. The Cisco AS5300, Cisco AS5350, and Cisco AS5400 platforms were not supported in this release.

12.2(11)T

Support was added for the Cisco AS5300, Cisco AS5350, and Cisco AS5400 platforms


Usage Guidelines

Use show sip-ua statistics to verify the SIP configurations. If a malformed Via header (or any other bad request) is received, the counter Client Error: Bad Request increments.

Examples

The following shows sample output from the show sip-ua statistics command and indicates the Client Error: Bad Request Counter:

Router# show sip-ua statistics
SIP Response Statistics (Inbound/Outbound)
    Informational:
      Trying 0/0, Ringing 0/0,
      Forwarded 0/0, Queued 0/0,
      SessionProgress 0/0
    Success:
      OkInvite 0/0, OkBye 0/0,
      OkCancel 0/0, OkOptions 0/0,
      OkPrack 0/0, OkPreconditionMet 0/0
      OkNotify 0/0, 202Accepted 0/0 
    Redirection (Inbound only):
      MultipleChoice 0, MovedPermanently 0,
      MovedTemporarily 0, SeeOther 0,
      UseProxy 0, AlternateService 0
    Client Error:
      BadRequest 0/0, Unauthorized 0/0,
      PaymentRequired 0/0, Forbidden 0/0,
      NotFound 0/0, MethodNotAllowed 0/0,
      NotAcceptable 0/0, ProxyAuthReqd 0/0,
      ReqTimeout 0/0, Conflict 0/0, Gone 0/0,
      LengthRequired 0/0, ReqEntityTooLarge 0/0,
      ReqURITooLarge 0/0, UnsupportedMediaType 0/0,
      BadExtension 0/0, TempNotAvailable 0/0,
      CallLegNonExistent 0/0, LoopDetected 0/0,
      TooManyHops 0/0, AddrIncomplete 0/0,
      Ambiguous 0/0, BusyHere 0/0,
      RequestCancel 0/0, NotAcceptableMedia 0/0
    Server Error:
      InternalError 0/0, NotImplemented 0/0,
      BadGateway 0/0, ServiceUnavail 0/0,
      GatewayTimeout 0/0, BadSipVer 0/0,
      PreCondFailure 0/0
    Global Failure:
      BusyEverywhere 0/0, Decline 0/0,
      NotExistAnywhere 0/0, NotAcceptable 0/0

SIP Total Traffic Statistics (Inbound/Outbound)
    Invite 0/0, Ack 0/0, Bye 0/0,
    Cancel 0/0, Options 0/0,
    Prack 0/0, Comet 0/0
    Notify 0/0, Refer 0/0

Retry Statistics
    Invite 0, Bye 0, Cancel 0, Response 0,
    Prack 0, Comet 0, Reliable1xx 0, Notify 0

The following table describes the fields displayed by the show sip-ua statistics command.

Table 2 show sip-ua statistics Command Field Descriptions 

Field
Description

When 0/0 is included in a field, the first number is an inbound count, the latter number is an outbound count.

Ack 0/0

Indicates a confirmed final response received/sent.

Accepted 0/0

202 Indicates a successful response to a Refer request received/sent.

AddrIncomplete 0/0

484 Address supplied is incomplete.

AlternateService 0

380 Unsuccessful call; however, an alternate service is available.

Ambiguous 0/0

485 Address supplied is ambiguous.

BadExtension 0/0

420 Server couldn't understand the protocol extension in the Require header.

BadGateway 0/0

502 Network is out of order.

BadRequest

400 Bad Request (includes the malformed Via header).

BadSipVer 0/0

505 SIP version requested is not supported.

BusyEverywhere 0/0

600 Called party is busy.

BusyHere 0/0

486 Called party is busy.

Bye 0

Indicates the number of times a Bye request is retransmitted to the other user agent.

Bye 0/0

Terminates the session.

CallLegNonExistent 0/0

481 Server is ignoring the request. It was either a Bye request and there wasn't a matching leg ID, or a Cancel request and there wasn't a matching transaction.

Cancel 0

Indicates the number of times a Cancel request is retransmitted to the other user agent.

Cancel 0/0

Terminates the pending request.

Client Error:

4xx Indicates a client error.

Comet 0

Indicates the number of times a COMET request is retransmitted to the other user agent.

Comet 0/0

Conditions have been met.

Conflict 0/0

409 Temporary failure.

Decline 0/0

603 Call rejected.

Forbidden 0/0

403 The SIP server has the request, but can not provide service.

Forwarded 0/0

181 Call has been forwarded.

GatewayTimeout 0/0

504 Indicates that the server or gateway did not receive a timely response from another server (such as a location server).

Global Failure:

6xx Called party does not exist anywhere.

Gone 0/0

410 Resource is no longer available at the server and no forwarding address is known.

Informational:

1xx Indicates an Informational response.

InternalError 0/0

500 Indicates that the server or gateway encountered an unexpected error that prevented it from processing the request.

Invite 0

Indicates the number of times an INVITE request is retransmitted to the other user agent.

Invite 0/0

Initiates a call.

LengthRequired 0/0

411 A content length is required.

LoopDetected 0/0

482 Indicates a loop—server received a request that included itself in the path.

MethodNotAllowed 0/0

405 Method specified in the request is not allowed.

MovedPermanently 0

301 User is no longer available at this location.

MovedTemporarily 0

302 User is temporarily unavailable.

MultipleChoice 0

300 Address resolves to more than one location.

NotAcceptable 0/0

406/606 Call contacted, but some aspect of the session description was unacceptable.

NotAcceptableMedia 0/0

406 Call contacted, but some aspect of the session description was unacceptable.

NotExistAnywhere 0/0

604 Server has authoritative information that the called party does not exist in the network.

NotFound 0/0

404 Called party does not exist in the specified domain.

Notify 0

Indicates the number of times a Notify is retransmitted to the other user agent.

Notify 0/0

Indicates the number of Notify messages received/sent.

NotImplemented 0/0

501 Service or option not implemented in the server or gateway.

OkBye 0/0

200 Indicates a successful response to a Bye request.

OkCancel 0/0

200 Indicates a successful response to a Cancel request.

OkInvite 0/0

200 Indicates a successful response to an INVITE request.

OkNotify 0/0

200 Indicates a successful response to an Notify request.

OkOptions 0/0

200 Indicates a successful response to an Options request.

OkPrack 0/0

200 Indicates a successful response to a PRACK request.

OkPreconditionMet 0/0

200 Indicates a successful response to a PreconditionMet request.

Options 0/0

Query the receiving/sending server as to its capabilities.

PaymentRequired 0/0

402 Payment is required to complete the call.

Prack 0

Indicates the number of times a PRACK request is retransmitted to the other user agent.

Prack 0/0

Provisional response received/sent.

PreCondFailure 0/0

580 Indicates the session could not be established due to failure to meet required preconditions.

ProxyAuthReqd 0/0

407 Rejected for proxy authentication.

Queued 0/0

182 Until the called party is available, the message is queued.

Redirection (Inbound only):

3xx Indicates that the called party is not available at the address used in the request; reissue.

Refer 0/0

Indicates the number of Refer requests received/sent.

Reliable1xx 0

Indicates the number of times the Reliable 1xx response is retransmitted to the other user agent.

ReqEntityTooLarge 0/0

413 Server refuses to process because the request is larger than is acceptable.

ReqURITooLarge 0/0

414 Server refuses to process, because the URI (URL) request is larger than is acceptable.

ReqTimeout 0/0

408 Server could not produce a response before the Expires time- out.

RequestCancel 0/0

Request has been cancelled.

Response 0

Indicates the number of Response retries.

Retry Statistics

One of the three categories of response statistics.

Ringing 0/0

180 Called party has been located and is being notified of the call.

SeeOther 0

303

Server Error:

5xx Server error.

ServiceUnavail 0/0

503 Service option is not available due to an overload or maintenance problem.

SessionProgress 0/0

183 Indicates inband alerting.

SIP Response Statistics (Inbound/Outbound)

One of the three categories of response statistics.

SIP Total Traffic Statistics (Inbound/Outbound)

One of the three categories of response statistics.

Success

2xx Request understood and performed.

TempNotAvailable 0/0

480 Called party didn't respond.

TooManyHops 0/0

483 Indicate that a server received a request that required more hops than is allowed by the Max-Forward header.

Trying 0/0

100 Action is being taken with no resolution.

Unauthorized 0/0

401 Indicates that the request requires user authentication.

UnsupportedMediaType 0/0

415 Servicer refuses to process because the service option is not available on the destination endpoint.

UseProxy 0

305 Caller must use a proxy to contact called party.


Related Commands

Command
Description

show sip-ua status

Displays SIP status.

show sip-ua timers

Displays the current settings for SIP UA timers.


Glossary

DCS—Distributed Call Signaling. A set of proposals by the PacketCable Consortium for extending SIP.

INVITE—A method that initiates a session. It indicates that a user is invited to participate, provides a session description, indicates the type of media, and provides insight regarding the capabilities of the called and calling parties.

gateway—A gateway allows SIP or H.323 terminals to communicate with terminals configured to other protocols by converting protocols. A gateway is the point where a circuit-switched call is encoded and repackaged into IP packets.

RSVP—Resource Reservation Protocol.

session—A SIP session is a set of multimedia senders and receivers and the data streams flowing between the senders and receivers. A SIP multimedia conference is an example of a session. The called party can be invited several times by different calls to the same session.

SIP—Session Initiation Protocol. An application-layer protocol originally developed by the Multiparty Multimedia Session Control (MMUSIC) working group of the Internet Engineering Task Force (IETF). Their goal was to equip platforms to signal the setup of voice and multimedia calls over IP networks. SIP features are compliant with IETF RFC 2543, published in March 1999.

UDP—User Datagram Protocol. Connectionless transport layer protocol in the TCP/IP protocol stack. UDP is a simple protocol that exchanges datagrams without acknowledgments or guaranteed delivery, requiring that error processing and retransmission be handled by other protocols. UDP is defined in RFC-768.

Via header—Part of an INVITE; includes information about the transport paths taken by a SIP request.

VoIP—Voice over IP. The ability to carry normal telephone-style voice over an IP-based Internet with POTS-like functionality, reliability, and voice quality. VoIP is a blanket term that generally refers to the Cisco standards-based approach (for example, H.323) to IP voice traffic.