Contents

Introduction

Concept

Prerequisites

Configuration Steps

Troubleshooting and Verification

Introduction

This document describes the configuration of Call home in a Cisco ACI environment.

Concept

The CallHome feature allows us to receive critical notifications about fabric functionality via email, including diagnostic information and environmental faults or events. It delivers these alerts to multiple recipients through CallHome destination profiles, which can be configured with specific message formats and content categories.

Prerequisites

- Fabric has to be on 4.2(1) or higher.

- All fabric devices must have network connectivity to the SMTP/E-Mail server.

- Communication TCP port 25 must be allowed betweeb fabric devices and SMTP/E-Mail server.

Configuration Steps

Step 1: Log in to APIC.

- Access APIC using admin credentials.

Step 2: Create CallHome destination group.

- Navigate to  APIC > Admin > External Data Collectors > Monitoring Destination

- Right click on  CallHomefolder and select  Create CallHome Destination Group.

Step 3: Enter the required details.

Required details are mentioned below

- Name - Name of CallHome destination group

- Admin  - enable this option

- Port - 25  ,Port Number  on which SMTP will communicate.

- SMTP Server - DNS name or IP address of SMTP server

- From Email - email address from which fabric will send us messages

- Management EPG - oob or inb EPG that has reachability to our SMTP server

- Contact  Email - email address to  which messages will received

- On next page  we can create exact destinations (That is, recipients of CallHome messages).

- Click on + sign and fill fields

- Name- destination name

- Admin state - if disabled, then destination will not receive any messages

- Level - severity level of messages that will be sent to destination. I would recommend this set to error or higher. Table of severity levels will be provided below.

- Email - Actual email address where messages must be sent

- Format - if we do not plan to automatically parse inbound messages then set this to short-txt. We can experiment to see the differences between them.

- Maximum Size (Bytes) - maximum size of a single email message. In case we set Format to aml or xml then messages can be quite large, so number of 100-200KB are ok. We can experiment with this number to determine required size. For short-txt format it must be enough to set this to 10KB.

- RFC Compliant - Better to say does not enable this.

- We can create as many destinations as we need and also could create more by right-clicking on our CallHome Destination group and selecting Create CallHome Destination.

Step 4: Create Callhome Query Groups

- Navigate to  APIC > Admin > External Data Collectors > CallHome Query Groups

- Right-click on  CallHome Query Groupsfolder and select  Create CallHome Query Group.

- Define the name of query group and click on+sign to create query definition.

- Name- query name

- Type- selector of object type that will be monitored for changes. I have herednselected which means "distinguished name".

- DN or Class Name- name of monitored object. And that is where the magic comes into action! We will not find anywhere any kind of description of what kind of object name or whatever must be inserted in this field. In APIC prior version 4 this field was not required. From version 4 it is mandatory. If we have selecteddnforType, then we can put hereuniwhich literally means "Whole universe" or in other words - "All fabric objects".

- Target- selects if subtree info must be included for object returned by query. I havesubtreehere selected.

- Subtree- selects subtree objects that must be returned from query. I havefullselected here.

- Include- type of objects that will be returned by query. I have all selected.

Step 5 : Fabric Monitoring policies and create CallHome sources

Now that CallHome destinations and queries are configured, we can move on to editing the monitoring policy.

- Navigate to APIC > Fabric > Fabric Policies > Policies > Monitoring

- Make sure that we have value "ALL" selected in "Monitoring Object" dropdown and "Source Type" set to "CallHome".

- Click on+sign in rightmost part of right pane

- Name- CallHome Source name (Callhome_Source)

- Include- select what kind of notifications are to be received

- Level- event severity that will trigger action (selected level or greater)

- Destination Group - here , select CallHome Destination Group that was created before

- Query Group- here , select CallHome Query Group that was created before

- ClickSubmit.

Note: With the setup complete, we can fine-tune our monitoring policy by creating separate CallHome sources for different monitoring objects and using multiple CallHome destination groups and queries

Step 6 : Access Policies CallHome sources

In this section we will configure fabric access policies to create CallHome sources.

Navigate to APIC > Fabric > Access Policies > Policies > Monitoring

- In Monitoring folder we will find default monitoring policy. Open default policy, click on CallHome/Smart CallHome/SNMP/Syslog/TACACS folder.

- Make sure that ALL is selected in Monitoring Object drop-down and Source Type is set to CallHome.

- Click on+sign in rightmost part of right pane:

- Name - enter CallHome Source name (Access_CallHome)

- Include - select what kind of notifications are to be receive

- Level - event severity that will trigger action (selected level or greater)

- Destination Group - here we select CallHome Destination Group that we created before

- Query Group - here we select CallHome Query Group that we created before

Step 7 :  After making these changes, we must receive email alerts on configured mail ID.

Troubleshooting and Verification

1. SMTP Server Connectivity Verification

To confirm that both APIC and Leaf devices can reach the SMTP server over TCP Port 25, perform ping and telnet tests.

1.1 Ping Test

Use the commands below to check basic network reachability to the SMTP host:

On APIC:

APIC # ping x.x.x.x

On Leaf Switch:

Leaf# iping x.x.x.x

1.2 Telnet Test (Port 25)

Run the following commands to verify that SMTP port 25 is open and reachable:

On APIC:

APIC # curl -v telnet://smtp_server_ip:port

Example :

APIC# curl -v telnet://x.x.x.x:25

On Leaf Switch:

Leaf# icurl -v telnet://smtp_server_ip:port

Example:

Leaf#icurl -v telnet://x.x.x.x:25

2. CallHome Configuration Validation

Verify that CallHome is correctly configured on both the APIC and the leaf switches.

2.1 CallHome Profile Validation

Ensure that the profile is configured with the correct port and parameters:

On APIC:

Apic# moquery -c callhomeProf

On Leaf Switch:

Leaf# moquery -c callhomeProf

2.2 CallHome Destination Validation

Verify that the destination SMTP server and port are accurately set:

On APIC:

Apic# moquery -c callhomeDest

On Leaf Switch:

Leaf# moquery -c callhomeDest

3. Verifying CallHome Email Transmission

In a typical ACI fabric, CallHome messages are initiated from APIC2 in a three-node cluster. If APIC2 is unavailable, these messages can originate from a leaf switch. To confirm the source and transmission of CallHome messages, use tcpdump on the relevant interfaces.

3.1 From APIC (Root Access Required)

If inband management is configured, replace bond0.330 with the VLAN used for inband management:

Apic# tcpdump -i bond0.330 port 25

From Leaf Switch:

Use the kpm_inb interface to monitor outgoing SMTP traffic:

Leaf# tcpdump -i kpm_inb port 25

4. In certain cases, even after successful configuration and verification of CallHome, SMTP connectivity, and monitoring policies, we can not receive interface fault alerts via email.

Use the steps below to Troubleshoot:

Use the Object Store Browser to Inspect the Fault.

4.1  Navigate to the affected interface in the Cisco ACI GUI.

4.2 Right-click the interface and select "Open in Object Store Browser" (refer to the screenshot below for visual guidance).

4.3  In the Object Store Browser, locate the Distinguished Name (DN) associated with the fault object.

4.4  After identifying the DN, access the APIC CLI and run the following command to query details for the object:

Example:-

apic# moquery -d "topology/pod-1/node-101/sys/phys-[eth1/1]"

4.5. In the output of the previous command, locate the monPolDn field.

For example:

monPolDn : uni/infra/moninfra-default

This field indicates the monitoring policy distinguished name (DN) applied to the interface object.

4.6  In this example, the monitoring policy is: uni/infra/moninfra-default

This shows that the default monitoring policy under the Infra tenant is applied to the interface.

4.7  To ensure CallHome generates and sends alerts for interface faults:

Confirm that the CallHome configuration is present under the Infra tenant.

Ensure the monitoring policy (moninfra-default in this case) is linked to a properly configured CallHome profile.