Configuring Media Session Snooping and Reporting

Media Session Snooping and Reporting

This feature enables access points to detect the establishment, termination, and failure of Session Initiation Protocol (SIP) voice calls and then report them to the controller and Cisco Prime Infrastructure. You can enable or disable Voice over IP (VoIP) snooping and reporting for each WLAN.

When you enable VoIP Media Session Aware (MSA) snooping, the access point radios that advertise this WLAN look for SIP voice packets that comply with SIP RFC 3261. They do not look for non-RFC 3261-compliant SIP voice packets or Skinny Call Control Protocol (SCCP) voice packets. Any SIP packets destined to or originating from port number 5060 (the standard SIP signaling port) are considered for further inspection. The access points track when Wi-Fi Multimedia (WMM) and non-WMM clients are establishing a call, are already on an active call, or are in the process of ending a call. Upstream packet classification for both client types occurs at the access point. Downstream packet classification occurs at the controller for WMM clients and at the access point for non-WMM clients. The access points notify the controller and Cisco Prime Infrastructure of any major call events, such as call establishment, termination, and failure.

The controller provides detailed information for VoIP MSA calls. For failed calls, the controller generates a trap log with a timestamp and the reason for failure (in the GUI) and an error code (in the CLI) to aid in troubleshooting. For successful calls, the controller shows the number and duration of calls for usage tracking purposes. Cisco Prime Infrastructure displays failed VoIP call information in the Events page.

This section contains the following subsections:

Restrictions for Media Session Snooping and Reporting

Controller software release 6.0 or later releases support Voice over IP (VoIP) Media Session Aware (MSA) snooping and reporting.

Configuring Media Session Snooping (GUI)

Procedure


Step 1

Choose WLANs to open the WLANs page.

Step 2

Click the ID number of the WLAN for which you want to configure media session snooping.

Step 3

On the WLANs > Edit page, click the Advanced tab.

Step 4

Under Voice, select the Media Session Snooping check box to enable media session snooping or unselect it to disable this feature. The default value is unselected.

Step 5

Click Apply.

Step 6

Click Save Configuration.

Step 7

See the VoIP statistics for your access point radios as follows:

  1. Choose Monitor > Access Points > Radios > 802.11a/n/ac or 802.11b/g/n to open the 802.11a/n/ac (or 802.11b/g/n) Radios page.

  2. Scroll to the right and click the Detail link for the access point for which you want to view VoIP statistics. The Radio > Statistics page appears.

    The VoIP Stats section shows the cumulative number and length of voice calls for this access point radio. Entries are added automatically when voice calls are successfully placed and deleted when the access point disassociates from the controller.

Step 8

Choose Management > SNMP > Trap Logs to see the traps generated for failed calls. The Trap Logs page appears.

For example, log 0 in the figure shows that a call failed. The log provides the date and time of the call, a description of the failure, and the reason why the failure occurred.


Configuring Media Session Snooping (CLI)

Procedure


Step 1

Enable or disable VoIP snooping for a particular WLAN by entering this command:

config wlan call-snoop {enable | disable} wlan_id

Step 2

Save your changes by entering this command:

save config

Step 3

See the status of media session snooping on a particular WLAN by entering this command:

show wlan wlan_id

Information similar to the following appears:


WLAN Identifier.................................. 1
Profile Name..................................... wpa2-psk
Network Name (SSID).............................. wpa2-psk
Status........................................... Enabled
...
	FlexConnect Local Switching........................ Disabled
   	FlexConnect Learn IP Address....................... Enabled
   	Infrastructure MFP protection.............. Enabled (Global Infrastructure MFP
Disabled)
	Client MFP.................................... Optional
   	Tkip MIC Countermeasure Hold-down Timer....... 60
Call Snooping.................................. Enabled

Step 4

See the call information for an MSA client when media session snooping is enabled and the call is active by entering this command:

show call-control client callInfo client_MAC_address

Information similar to the following appears:


Uplink IP/port...................................... 192.11.1.71 / 23870
Downlonk IP/port.................................... 192.12.1.47 / 2070
UP.................................................. 6
Calling Party....................................... sip:1054
Called Party........................................ sip:1000
Call ID............................................. 58635b00-850161b7-14853-1501a8
Number of calls for given client is.............. 1

Step 5

See the metrics for successful calls or the traps generated for failed calls by entering this command:

show call-control ap {802.11a | 802.11b} Cisco_AP {metrics | traps}

Information similar to the following appears when you enter show call-control ap {802.11a | 802.11b} Cisco_AP metrics :


Total Call Duration in Seconds................... 120
Number of Calls.................................. 10

Information similar to the following appears when you enter show call-control ap {802.11a | 802.11b} Cisco_AP traps :


Number of traps sent in one min.................. 2
Last SIP error code.............................. 404
Last sent trap timestamp...................... Jun 20 10:05:06


To aid in troubleshooting, the output of this command shows an error code for any failed calls. This table explains the possible error codes for failed calls.

Table 1. Error Codes for Failed VoIP Calls

Error Code

Integer

Description

1

unknown

Unknown error.

400

badRequest

The request could not be understood because of malformed syntax.

401

unauthorized

The request requires user authentication.

402

paymentRequired

Reserved for future use.

403

forbidden

The server understood the request but refuses to fulfill it.

404

notFound

The server has information that the user does not exist at the domain specified in the Request-URI.

405

methodNotallowed

The method specified in the Request-Line is understood but not allowed for the address identified by the Request-URI.

406

notAcceptabl

The resource identified by the request is only capable of generating response entities with content characteristics that are not acceptable according to the Accept header text box sent in the request.

407

proxyAuthenticationRequired

The client must first authenticate with the proxy.

408

requestTimeout

The server could not produce a response within a suitable amount of time, if it could not determine the location of the user in time.

409

conflict

The request could not be completed due to a conflict with the current state of the resource.

410

gone

The requested resource is no longer available at the server, and no forwarding address is known.

411

lengthRequired

The server is refusing to process a request because the request entity-body is larger than the server is willing or able to process.

413

requestEntityTooLarge

The server is refusing to process a request because the request entity-body is larger than the server is willing or able to process.

414

requestURITooLarge

The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret.

415

unsupportedMediaType

The server is refusing to service the request because the message body of the request is in a format not supported by the server for the requested method.

420

badExtension

The server did not understand the protocol extension specified in a Proxy-Require or Require header text box.

480

temporarilyNotAvailable

The callee’s end system was contacted successfully, but the callee is currently unavailable.

481

callLegDoesNotExist

The UAS received a request that does not match any existing dialog or transaction.

482

loopDetected

The server has detected a loop.

483

tooManyHops

The server received a request that contains a Max-Forwards header text box with the value zero.

484

addressIncomplete

The server received a request with a Request-URI that was incomplete.

485

ambiguous

The Request-URI was ambiguous.

486

busy

The callee’s end system was contacted successfully, but the callee is currently not willing or able to take additional calls at this end system.

500

internalServerError

The server encountered an unexpected condition that prevented it from fulfilling the request.

501

notImplemented

The server does not support the functionality required to fulfill the request.

502

badGateway

The server, while acting as a gateway or proxy, received an invalid response from the downstream server it accessed in attempting to fulfill the request.

503

serviceUnavailable

The server is temporarily unable to process the request because of a temporary overloading or maintenance of the server.

504

serverTimeout

The server did not receive a timely response from an external server it accessed in attempting to process the request.

505

versionNotSupported

The server does not support or refuses to support the SIP protocol version that was used in the request.

600

busyEverywhere

The callee’s end system was contacted successfully, but the callee is busy or does not want to take the call at this time.

603

decline

The callee’s machine was contacted successfully, but the user does not want to or cannot participate.

604

doesNotExistAnywhere

The server has information that the user indicated in the Request-URI does not exist anywhere.

606

notAcceptable

The user’s agent was contacted successfully, but some aspects of the session description (such as the requested media, bandwidth, or addressing style) were not acceptable.

Note 

If you experience any problems with media session snooping, enter the debug call-control {all | event} {enable | disable} command to debug all media session snooping messages or events.