Cisco Unified Border Element (SP Edition) Configuration Guide: Unified Model
BFCP Support
Downloads: This chapterpdf (PDF - 220.0KB) The complete bookPDF (PDF - 10.42MB) | Feedback

BFCP Support

Table Of Contents

BFCP Support

Contents

Prerequisite for BFCP Support

Restrictions for BFCP Support

Information About BFCP Support

Best-Effort Traffic Class

Deploying BFCP Support

Configuring BFCP Support

Configuration Example of BFCP Support


BFCP Support


Binary Floor Control Protocol (BFCP), defined in RFC 4582, is a protocol for controlling the access to the media resources in a conference.

Cisco Unified Border Element (SP Edition) was earlier known as Integrated Session Border Controller. It is referred to in this document as the session border controller (SBC).

For a complete description of the commands used in this chapter, refer to the Cisco Unified Border Element (SP Edition) Command Reference: Unified Model at:

http://www.cisco.com/en/US/docs/ios/sbc/command/reference/sbcu_book.html

For information about all the Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or a Cisco IOS master commands list.

Feature History for BFCP Support

Release
Modification

Cisco IOS XE Release 3.3S

This feature was introduced on the Cisco ASR 1000 Series Routers.


Contents

This chapter contains the following sections:

Prerequisite for BFCP Support

Restrictions for BFCP Support

Information About BFCP Support

Configuring BFCP Support

Configuration Example of BFCP Support

Prerequisite for BFCP Support

Following is the prerequisite pertaining to the BFCP Support feature:

The SBC must pass through the b=CT line and the a=rtcp-fb:* nack pli RTCP feedback information included in the Session Description Protocol (SDP).

Restrictions for BFCP Support

Following are the restrictions pertaining to the BFCP Support feature:

The SBC treats a generic media stream the same way it treats other media streams. Therefore, a call is released only if all the media streams are reported as being inactive. The Media Packet Forwarder (MPF) media timer is processed in the same way as the other voice or video streams pertaining to the BFCP stream.

A BFCP media stream and a generic media stream do not have a bandwidth specified. Therefore, it can be policed only by the MPF, and not the Call Admission Control (CAC) total bandwidth limits.

The SBC does not support the generic TCP streams or BFCP over TCP. Therefore, a request to add a TCP stream to the generic media stream configuration gets rejected.

H.323 calls or H.323-SIP interworking calls are not supported.

Information About BFCP Support

The BFCP Support feature supports BFCP over UDP in the SBC by configuring BFCP as a recognized generic media stream that can be forwarded using the best-effort traffic class.

Generic media streams are media streams in which the media (m)-line definition uses * instead of a codec list, for example, m=application port UDP/BFCP *. By default, the SBC cuts these m-lines out of the SDP offers and replies by setting the port to zero. These media lines carry no bandwidth information and therefore, cannot be policed against CAC limits, denial of service, or media theft attacks of the SBC.

The BFCP Support feature introduces the best-effort traffic class that allows policing of these media lines in the media forwarder.

The SBC can be configured to accept specific generic media streams. After this, the accepted generic media streams are added to the best-effort traffic class. MPF implementation supports the best-effort traffic class by policing the actual usage of the aggregate of these streams.

Best-Effort Traffic Class

Prior to Cisco IOS XE Release 3.3S, the media streams had their bandwidth specified for audio and video streams, or were not subjected to any policing, such as T120. From Cisco IOS XE Release 3.3S, the SBC is configured to accept arbitrary type and number of generic media streams. Some of the BFCP streams can now have low bandwidth protocol messages. The best-effort traffic class simplifies packet policing because it allows a media forwarder to handle such streams cumulatively. The best-effort traffic class rate limit is 1Mbps cumulatively.

Deploying BFCP Support

Figure 31 shows a scenario where the SBC can be deployed for the BFCP Support feature. In this scenario, the SBC is located in the Service Provider network, allows inter enterprise calls between different VPNs, and protects the core network.

Figure 31 BFCP Deployment Scenario

Configuring BFCP Support

This section describes how to configure the BFCP Support feature on the SBC.

SUMMARY STEPS

12. configure terminal

13. sbc service-name

14. sbe

15. stream-list stream-list-name

16. description description

17. generic-stream media-type {application | message} transport udp protocol protocol-name

18. exit

19. cac-policy-set policy-set-id

20. cac-table table-name

21. table-type {policy-set | limit {list of limit tables}}

22. entry entry-id

23. action [next-table goto-table-name | cac-complete]

24. generic-stream caller generic-stream-list

25. generic-stream callee generic-stream-list

26. match-value key

27. exit

28. exit

29. complete

30. end

31. show sbc service-name sbe stream-list

32. show sbc service-name sbe cac-policy-set id table name entry entry

DETAILED STEPS

 
Command or Action
Purpose

Step 12 

configure terminal

Example:

Router# configure terminal

Enables the global configuration mode.

Step 13 

sbc sbc-name

Example:

Router(config)# sbc mysbc

Enters the SBC service mode.

Use the sbc-name argument to define the name of the service.

Step 14 

sbe

Example:

Router(config-sbc)# sbe

Enters the SBE entity mode within an SBC service.

Step 15 

stream-list stream-list-name

Example:

Router(config-sbc-sbe)# stream-list my_stream

Configures a stream list and enters the stream list configuration mode.

stream-list-name—The name of the stream list. The stream list name can be upto 30 characters.

Step 16 

description description

Example:

Router(config-sbc-sbe-stream-list)# description "This is my first stream list"

Configures descriptive text for the stream list.

Step 17 

generic-stream media-type {application | message} transport udp protocol protocol-name

Example:

Router(config-sbc-sbe-stream-list)# generic-stream media-type application transport udp protocol BFCP

Configures the media type for a generic stream.

application—Specifies application as media type for the generic stream.

message—Specifies message as media type for the generic stream.

transport—Configures the transport protocol for the generic stream.

udp—Specifies the UDP protocol for the generic stream.

protocol—Specifies the protocol name for the generic stream.

protocol-name—The protocol name for the generic stream. The protocol name is case sensitive.

Step 18 

exit

Example:

Router(config-sbc-sbe-stream-list)# exit

Exits from the stream list configuration mode and enters the SBE configuration mode.

Step 19 

cac-policy-set policy-set-id

Example:

Router(config-sbc-sbe)# cac-policy-set 2

Enters the CAC policy set configuration mode within an SBE entity, creating a new policy set, if necessary.

policy-set-id—The call policy set number that can range from 1 to 2147483647.

Step 20 

cac-table table-name

Example:

Router(config-sbc-sbe-cacpolicy)# cac-table 2

Enters the admission control table configuration mode (creating one, if necessary) within the context of an SBE policy set.

Step 21 

table-type {policy-set | limit {list of limit tables}}

Example:

Router(config-sbc-sbe-cacpolicy-cactable)# table-type src-adjacency

Configures a limit to the table types that are to be matched by the match-value command. For the multiple SBC media bypass feature, use the following table type:

src-adjacency—Compares the name of the source adjacency.

Step 22 

entry entry-id

Example:

Router(config-sbc-sbe-cacpolicy-cactable)# entry 1

Enters the CAC table entry mode to create or modify an entry in an admission control table.

Step 23 

action [next-table goto-table-name | cac-complete]

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # action cac-complete

Configures the action to be performed after the entry, in an admission control table. Possible actions are:

Identifies the next CAC table to be processed using the next-table keyword and the goto-table-name argument.

Stops the processing for the scope using the cac-complete keyword.

Step 24 

generic-stream caller generic-stream-list

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # generic-stream caller my-stream

Configures the generic media stream list settings for a caller.

generic-stream-list—The name of the generic stream list. This generic stream list should be defined during the configuration of the stream list.

Step 25 

generic-stream callee generic-stream-list

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # generic-stream callee my-stream

Configures the generic media stream list settings for a callee.

generic-stream-list—The name of the generic stream list. This generic stream list should be defined during the configuration of the stream list.

Step 26 

match-value key

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # match-value SIP-adj-test

Configures the match value of an entry in a CAC limit table.

key—The keyword used to match events. The format of the key is determined by the table type limit.

Step 27 

exit

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # exit

Exits from the CAC table entry configuration mode and enters the CAC table mode.

Step 28 

exit

Example:

Router(config-sbc-sbe-cacpolicy-cactable)# exit

Exits from the CAC table configuration mode and enters the CAC policy set configuration mode.

Step 29 

complete

Example:

Router(config-sbc-sbe-cacpolicy)# complete

Completes the CAC policy set after you have committed the complete set.

Step 30 

end

Example:

Router(config)# end

Exits from the CAC policy set configuration mode and enters the Privileged EXEC mode.

Step 31 

show sbc sbc-name sbe stream-list

Example:

Router# show sbc mysbc sbe stream-list my-stream

Displays the stream lists that are present on the SBE.

Step 32 

show sbc service-name sbe cac-policy-set id table name entry entry

Example:

Router# show sbc mysbc sbe cac-policy-set 1 table MyTable entry 1

Displays detailed information about a specific entry in a CAC policy table.

The following example shows the output of the show sbc sbe stream-list command:

Router# show sbc Mysbc sbe stream-list
SBC Service "sbc"
 
   
  Stream list: my-stream
    Description This is my first stream list
    Media-type application Transport udp protocol Streambased
    Media-type message Transport udp protocol BFCP
 
   
The following example shows the output of the show sbc sbe cac-policy-set table entry 
command:
 
   
Router# show sbc Mysbc sbe cac-policy 25 table 2 entry 1
SBC Service "Mysbc"
CAC Averaging period 1: 60 sec
CAC Averaging period 2: 0 sec
 
   
CAC Policy Set 25
  Global policy set: No
  Description:
  First CAC table:
  First CAC scope: global
 
   
  Table name: 2
    Description:
    Table type: limit src-adjacency
    Total call setup failures (due to non-media limits): 0
 
   
    Entry 1
    Match value:
    Match prefix length: 0
    Action: CAC complete
    Number of call setup failures (due to non-media limits): 0
    No. of registrations rejected (due to registration limits): 0
 
   
    Max calls per scope:                                 Unlimited
    No. of events rejected due to Max Call Limit:        0
    Max reg. per scope:                                  Unlimited
    No. of events rejected due to Max Reg limit:         0
    Max channels per scope:                              Unlimited
    Max updates per scope:                               Unlimited
    Max bandwidth per scope:                             Unlimited
 
   
                                                  Averaging-period 1      Averaging-period 
2
    Max call rate per scope:                         Unlimited               Unlimited
    No. of events rejected due to Max call rate:     0                       0
    Max reg. rate per scope:                         Unlimited               Unlimited
    No. of events rejected due to Max reg rate:      0                       0
    Max in-call message rate:                        Unlimited               Unlimited
    No. of events rejected due to Max in-call rate:  0                       0
    Max out-call message rate:                       Unlimited               Unlimited
    No. of events rejected due to Max Out call rate: 0                       0
    Timestamp when the rejection counts were last reset: 2011/01/03 22:29:40
    Early media:             Allowed         Early media direction:   Both
    Early media timeout:     None            Transcoder per scope:    Allowed
    Callee Bandwidth-Field:  None            Caller Bandwidth-Field:  None
    Media bypass:            Allowed         Asymmetric Payload Type: Not Set
    Renegotiate Strategy:            Delta
    SRTP Transport:                  Trusted-Only (by default)
    Caller hold setting:             Standard
    Callee hold setting:             Standard
    Caller limited-privacy-service:  Never hide identity
    Callee limited-privacy-service:  Never hide identity
    Caller privacy-service:  Not set
    Callee privacy-service:  Not set
    Caller edit-privacy-request:  Not set
    Callee edit-privacy-request:  Not set
    Caller edit-privacy-request sip strip:  Not set
    Callee edit-privacy-request sip strip:  Not set
    Caller edit-privacy-request sip insert:  Not set
    Callee edit-privacy-request sip insert:  Not set
    Caller voice QoS profile:        Default
    Callee voice QoS profile:        Default
    Caller video QoS profile:        Default
    Callee video QoS profile:        Default
    Caller sig QoS profile:          Default
    Callee sig QoS profile:          Default
    Caller inbound SDP policy:       None
    Callee inbound SDP policy:       None
    Caller outbound SDP policy:      None
    Callee outbound SDP policy:      None
    SDP Media Profile         :      None
    Caller Generic Stream     :      my-stream
    Callee Generic Stream     :      my-stream
    Caller media disabled:           None
    Callee media disabled:           None
    Caller unsignaled secure media:  Not Allowed
    Callee unsignaled secure media:  Not Allowed
    Caller response downgrade support:  No
    Callee response downgrade support:  No
    Caller retry rtp support:           No
    Callee retry rtp support:           No
    Resend sdp answer in 200ok:      No
    Caller tel-event payload type:   Default
    Callee tel-event payload type:   Default
    Media flag:                      None
    Restrict codecs to list:         Default
    Restrict caller codecs to list:  Default
    Restrict callee codecs to list:  Default
    Codec preference list:           Default
    Caller Codec profile:           None
    Callee Codec profile:           None
    Caller media caps list:          None
    Callee media caps list:          None
    TCS extra codec list:            None
    Caller media-type:               Inherit (default)
    Callee media-type:               Inherit (default)
    Caller Media Bypass:             Inherit (default)
    Callee Media Bypass:             Inherit (default)
    Media Bypass Type:               Not set
    Callee local transfer support:   Inherit (default)
    Maximum Call Duration:           Unlimited
    Caller SRTP support:             Inherit (default)
    Callee SRTP support:             Inherit (default)
    SRTP Interworking:               Inherit (default)
    SRTP media Interworking:         Inherit (default)
    Ims rx preliminary-aar:          Disabled(default)
    Ims media-service:               None(default)
    media bandwidth policing:        Inherit(default)
    Billing filter:                  Inherit(default)
    Caller ptime:                    None (default)
    Callee ptime:                    None (default)
    Caller codec variant conversion: Disabled (default)
    Callee codec variant conversion: Disabled (default)
    Caller inband DTMF mode:         Inherit(default)
    Callee inband DTMF mode:         Inherit(default)
    Caller Port Range Tag:           Inherit (default)
    Callee Port Range Tag:           Inherit (default)
    Session refresh renegotiation: Inherit(default)

Configuration Example of BFCP Support

Following is a configuration example of the BFCP Support feature on the SBC:

sbc sbc
      sbe
        stream-list my-stream
         description voip stream list
		 generic-stream media-type application transport udp protocol BFCP
  		 generic-stream media-type application transport udp protocol test
		 exit
	 cac-policy-set 2
       	 cac-table 2
          table-type limit src-adjacency
          entry 1
           action cac-complete
           generic-stream caller my-stream
           generic-stream callee my-stream
           match-value SIP-adj-test
		 exit
		exit
        complete