# Configuring PPPoE Remote Circuit ID Capture

To capture and use the PPPoE remote circuit ID:

1. Configure a static or dynamic PPPoE interface.

   For instructions on configuring a static PPPoE interface, see Configuring PPPoE over ATM or Configuring PPPoE for Ethernet Modules.

   For instructions on configuring a dynamic PPPoE interface, see Configuring Dynamic Interfaces.

2. Configure capture of the PPPoE remote circuit ID on this interface.
   1. Enable the router to capture the PPPoE remote circuit ID transmitted from the DSLAM by using one of the following methods:
      - For a static PPPoE interface, issue the pppoe remote-circuit-id command from Interface Configuration mode or Subinterface Configuration mode.
        host1(config-if)#pppoe remote-circuit-id
      - For a dynamic PPPoE interface, issue the pppoe remote-circuit-id command from Profile Configuration mode as a characteristic of the profile assigned to the dynamic PPPoE interface column.
        host1(config)#profile pppoeTest host1(config-profile)#pppoe remote-circuit-id

      By default, the router formats the captured PPPoE remote circuit ID to include only the agent-circuit-id suboption (suboption 1) of the PPPoE intermediate agent tags sent from the DSLAM.

   2. (Optional) Use the show pppoe interface command (for static PPPoE interfaces) or the show profile command (for dynamic PPPoE interfaces) to verify that PPPoE remote circuit capture is enabled.
      host1#show pppoe interface fastEthernet 4/1.1 host1#show profile name pppoeTest

      For information about how to use these commands, see show pppoe interface and show profile.

3. (Optional) Configure the format of the captured PPPoE remote circuit ID value.
   1. Configure RADIUS to specify a nondefault format for the PPPoE remote circuit ID value.
      - For example, the following command formats the PPPoE remote circuit ID to include only the agent-remote-id suboption (suboption 2) of the tags supplied by the PPPoE intermediate agent.
        host1(config)#radius remote-circuit-id-format agent-remote-id
      - The following command formats the PPPoE remote circuit ID to include the NAS-Identifier [32] RADIUS attribute with both the agent-circuit-id and agent-remote-id suboptions of the tags supplied by the PPPoE intermediate agent.
        host1(config)#radius remote-circuit-id-format nas-identifier agent-circuit-id agent-remote-id
      - The following command formats the PPPoE remote circuit ID to append the agent-circuit-ID suboption to an interface specifier that is consistent with the recommended format in the DSL Forum Technical Report (TR)-101—Migration to Ethernet-Based DSL Aggregation (April 2006). For details about how the router implements this format, see Format for dsl-forum-1 Keyword.
        host1(config)#radius remote-circuit-id-format dsl-forum-1
   2. Configure RADIUS to specify a nondefault delimiter character to separate components in the PPPoE remote circuit ID value. (The default delimiter character is #.)
      host1(config)#radius remote-circuit-id-delimiter %
   3. Use the show radius remote-circuit-id format command and the show radius remote-circuit-id-delimiter command to verify the format and delimiter settings for the PPPoE remote circuit ID value.
      host1#show radius remote-circuit-id-format host1#show radius remote-circuit-id-delimiter

      For information about how to use these commands, see show radius remote-circuit-id-format and show radius remote-circuit-id-delimiter.

4. Send the PPPoE remote circuit ID value to a RADIUS server, to an LNS, or to both.
   1. Configure RADIUS to use the PPPoE remote circuit ID captured from the DSLAM in place of either (or both) of the Calling-Station-Id [31] and NAS-Port-Id [87] RADIUS attributes.
      host1(config)#radius override calling-station-id remote-circuit-id host1(config)#radius override nas-port-id remote-circuit-id
   2. Configure the E Series L2TP access controller (LAC) to generate L2TP Calling Number AVP 22 in fixed format or one of several formats that includes either or both of the agent-circuit-id (suboption 1) and agent-remote-id (suboption 2) suboptions of the tags supplied by the PPPoE intermediate agent.
      host1(config)#aaa tunnel calling-number-format fixed

      or

      host1(config)#aaa tunnel calling-number-format descriptive
      include-agent-circuit-id include-agent-remote-id

      or

      host1(config)#aaa tunnel calling-number-format include-agent-circuit-id
   3. (Optional) Configure a fallback format for the L2TP Calling Number AVP 22. The fallback format is used only when you have configured the calling number format as anything other than fixed and the PPPoE agent ID is null or unavailable.
      host1(config)#aaa tunnel calling-number-format fallback fixed

      or

      host1(config)#aaa tunnel calling-number-format fallback descriptive
   4. (Optional) Use the show radius override command to verify the override settings configured for RADIUS, and the show aaa tunnel-parameters command to verify the parameters configured for L2TP tunnel definitions.
      host1#show radius override host1#show aaa tunnel-parameters

      For information about how to use these commands, see show radius override and show aaa tunnel-parameters.

aaa tunnel calling-number-format

- Use to configure the format used by the E Series LAC to generate the L2TP Calling Number AVP 22.
- The fixed format is similar to the fixed format of RADIUS attribute 31 (Calling-Station-Id). The LAC uses this format in ICRQ packets that it sends to the LNS.
- Several different descriptive formats include information about the interface and either or both of the suboptions supplied by the PPPoE intermediate agent, agent-circuit-id and agent-remote-id.
- Several simpler formats include only either or both of the PPPoE suboptions, agent-circuit-id and agent-remote-id.
- Example 1
  host1(config)#aaa tunnel calling-number-format descriptive include-agent-circuit-id
- Example 2
  host1(config)#aaa tunnel calling-number-format descriptive include-agent-circuit-id include-agent-remote-id
- Example 3
  host1(config)#aaa tunnel calling-number-format include-agent-circuit-id
- Use the no version to restore the default calling number format, descriptive.
- See aaa tunnel calling-number-format.

aaa tunnel calling-number-format-fallback

- Use to configure the fallback format that the E Series LAC uses to generate the L2TP Calling Number AVP 22 in the event that the PPPoE agent ID is null or unavailable.
- The fallback format is used only when the configured calling number format includes either or both of the agent-circuit-id and agent-remote-id.
- The calling number format determines what element triggers use of the fallback format:

  Calling Number Format | Fallback Trigger
  --- | ---
  agent-circuit-id | agent-circuit-id is empty
  agent-circuit-id include-agent-remote-id | Both agent-circuit-id and agent-remote-id are empty.
  agent-remote-id | agent-remote-id is empty
  descriptive include-agent-circuit-id | agent-circuit-id is empty
  descriptive include-agent-circuit-id include-agent-remote-id | Both agent-circuit-id and agent-remote-id are empty.
  descriptive include-agent-remote-id | agent-remote-id is empty

- You can specify either descriptive format or fixed format.
- Example
  host1(config)#aaa tunnel calling-number-format-fallback fixed
- Use the no version to restore the default format, descriptive.
- See aaa tunnel calling-number-format-fallback.

pppoe remote-circuit-id

- Use to enable a static PPPoE interface (from Interface Configuration mode or Subinterface Configuration mode) or a dynamic PPPoE interface (from Profile Configuration mode) to capture and process a vendor-specific tag containing a remote circuit ID transmitted from a DSLAM.
- The router can then send this value to a RADIUS server or to an L2TP network server (LNS) to uniquely identify subscriber locations.
- Examples
  host1(config-if)#pppoe remote-circuit-id host1(config-profile)#pppoe remote-circuit-id
- Use the no version to restore the default behavior, which is not to capture and process the PPPoE remote circuit ID.
- See pppoe remote-circuit-id.

radius override calling-station-id remote-circuit-id

- Use to configure RADIUS to override the standard use of the Calling-Station-Id [31] RADIUS attribute and instead use the PPPoE remote circuit ID transmitted from a DSLAM.
- Example
  host1(config)#radius override calling-station-id remote-circuit-id
- Use the no version to restore the default Calling-Station-Id value, which is the telephone number from which the call originated.
- See radius override calling-station-id remote-circuit-id.

radius override nas-port-id remote-circuit-id

- Use to configure RADIUS to override the standard use of the NAS-Port-Id [87] RADIUS attribute and instead use the PPPoE remote circuit ID transmitted from a DSLAM.
- Example
  host1(config)#radius override nas-port-id remote-circuit-id
- Use the no version to restore the default NAS-Port-Id value, which is the physical interface of the network access server (NAS) that is authenticating the user.
- See radius override nas-port-id remote-circuit-id.

radius remote-circuit-id-delimiter

- Use to configure the delimiter character that the router uses to set off multiple components in the format of the PPPoE remote circuit ID value captured from a DSLAM.
- Example
  host1(config)#radius remote-circuit-id-delimiter !
- Use the no version to restore the default delimiter character, #.
- See radius remote-circuit-id-delimiter.

radius remote-circuit-id-format

- Use to configure the format of the PPPoE remote circuit ID value captured from a DSLAM.
- By default, the router formats the PPPoE remote circuit ID to include only the agent-circuit-id suboption (suboption 1) of the tags supplied by the PPPoE intermediate agent.
- You can use this command to configure one of the following nondefault formats for the PPPoE remote circuit ID value:
  - To include the agent-circuit-id suboption, use the agent-circuit-id keyword.
  - To include the agent-remote-id suboption (suboption 2) of the tags supplied by the PPPoE intermediate agent, use the agent-remote-id keyword.
  - To include the NAS-Identifier [32] RADIUS attribute, use the nas-identifier keyword. If you include the nas-identifier keyword, you must also include either or both of the agent-circuit-id and agent-remote-id keywords.
  - To append the agent-circuit-ID value to an interface specifier that is consistent with the recommended format in DSL Forum Technical Report (TR)-101—Migration to Ethernet-Based DSL Aggregation (April 2006)the , use the dsl-forum-1 keyword. For details about how the router implements this format, see Format for dsl-forum-1 Keyword.
- RADIUS overrides the standard use of the Calling-Station-Id [31] or NAS-Port-Id [87] attribute with the PPPoE remote circuit ID only if the DSLAM transmits non-empty data for at least one of the agent-circuit-id or agent-remote-id values. If the DSLAM transmits empty data, then RADIUS does not override the Calling-Station-Id [31] or NAS-Port-Id [87] RADIUS attribute with the PPPoE remote circuit ID and instead uses the standard value for the RADIUS attribute.
- If a single component in a multi-component PPPoE remote circuit ID format is empty, the router represents the empty component as two consecutive delimiter characters (## by default).
- Example 1—Formats the PPPoE remote circuit ID value to include only the agent-remote-id suboption of the tags supplied by the PPPoE intermediate agent.
  host1(config)#radius remote-circuit-id-format agent-remote-id
- Example 2—Formats the PPPoE remote circuit ID value to include both the agent-circuit-id and agent-remote-id suboptions of the tags supplied by the PPPoE intermediate agent.
  host1(config)#radius remote-circuit-id-format agent-circuit-id agent-remote-id
- Example 3—Formats the PPPoE remote circuit ID value to include the NAS-Identifier [32] RADIUS attribute with the agent-circuit-id suboption of the tags supplied by the PPPoE intermediate agent.
  host1(config)#radius remote-circuit-id-format nas-identifier agent-circuit-id
- Example 4—Formats the PPPoE remote circuit ID value to include the NAS-Identifier [32] RADIUS attribute with the agent-remote-id suboption of the tags supplied by the PPPoE intermediate agent.
  host1(config)#radius remote-circuit-id-format nas-identifier agent-remote-id
- Example 5—Formats the PPPoE remote circuit ID value to include the NAS-Identifier [32] RADIUS attribute with both the agent-circuit-id and agent-remote-id suboptions of the tags supplied by the PPPoE intermediate agent.
  host1(config)#radius remote-circuit-id-format nas-identifier agent-circuit-id agent-remote-id
- Example 6—Formats the PPPoE remote circuit ID value to use the format for the dsl-forum-1 keyword. For details about how the router implements this format, see Format for dsl-forum-1 Keyword.
  host1(config)#radius remote-circuit-id-format dsl-forum-1
- Use the no version to restore the default format, agent-circuit-id.
- See radius remote-circuit-id-format.