cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
842
Views
0
Helpful
7
Replies

Assistance needed on Cisco IOS-XE YANG model for Voice

simranigate
Beginner
Beginner

Hi... I am trying to setup Cisco MDT in lab on a CSR 1000V router. I am able to set it up for regular IOS related parameters like CPU and memory monitoring but Voice specific configuration doesn't seem to work. I've checked the XPath string many times but it is still not able to connect to the Telegraf server

E.g Here are couple of XPath strings

/voice-ios-xe-oper:voice-oper-data/active-voice-call-sum/total-entry

/voice-ios-xe-oper:voice-oper-data/sccp-ccm-group[ccm-group-id='1']/description

But somehow, the connection keeps coming up as "Invalid"

Telemetry subscription detail:

Subscription ID: 3
Type: Configured
State: Invalid
Stream: yang-push
Filter:
Filter type: xpath
XPath: /voice-ios-xe-oper:voice-oper-data/active-voice-call-sum/total-entry
Update policy:
Update Trigger: periodic
Period: 500
Encoding: encode-kvgpb
Source VRF:
Source Address: 10.0.0.115
Notes: Invalid XPath filter: '/voice-ios-xe-oper:voice-oper-data/active-voice-call-sum/total-entry'.

Receivers:
Address Port Protocol Protocol Profile
-----------------------------------------------------------------------------------------
10.0.0.245 57000 grpc-tcp


Router(config-mdt-subs)#

1 Accepted Solution

Accepted Solutions

simranigate
Beginner
Beginner

The issue was found to be with the CSR router. It just doesn't work with the voice specific yang model I configured the same on a 4000 series CUBE and it worked.

If anyone else is encountering the same issue then don't worry. The YANG model is correct but it just doesn't work with CSR router. You can try the same XPath string with a CUBE and it will work.

View solution in original post

7 Replies 7

Georg Pauwen
VIP Master VIP Master
VIP Master

Hello,

I have looked around but could not find the xpath you are using. What if you change the Xpath to:

/voice-ios-xe-oper:voice-oper-data/active-voip-call-summary/total-entry

Hi Georg,

I've tried that as well and it doesn't work either. I am following the below model

https://github.com/YangModels/yang/blob/main/vendor/cisco/xe/1721/Cisco-IOS-XE-voice-oper.yang

It's tree like structure is as follows

module: Cisco-IOS-XE-voice-oper
+--ro dspfarm-dsp* [bridge-id]
| +--ro bridge-id uint32
| +--ro dsp-slot? string
| +--ro dsp-num? uint32
| +--ro dsp-version? string
| +--ro dsp-status? voice-ios-xe-oper:dsp-status-type
| +--ro chnl-id? uint32
| +--ro chnl-status? voice-ios-xe-oper:chnl-status-type
| +--ro service-type? voice-ios-xe-oper:dsp-service-type
| +--ro rsc-id? uint32
| +--ro pkts-txed? uint32
| +--ro pkts-rxed? uint32
+--ro sccp-connection* [conn-id]
| +--ro conn-id uint32
| +--ro sess-id? uint32
| +--ro stype? voice-ios-xe-oper:sccp-sess-type
| +--ro mode? voice-ios-xe-oper:sccp-conn-mode
| +--ro codec? voice-ios-xe-oper:voip-codec-type
| +--ro rmt-ipaddr? inet:ip-address
| +--ro rmt-port? uint16
| +--ro src-port? uint16
| +--ro dtmf-method? voice-ios-xe-oper:dtmf-method-type
+--ro voice-recording-port* [port-dptag]
| +--ro port-dptag uint32
| +--ro pa-bay? uint32
| +--ro port-type? voice-ios-xe-oper:dsp-port-type
| +--ro port-id? string
| +--ro server-dptag? uint32
+--ro voice-recording-license!
| +--ro configured? uint32
| +--ro allocated? uint32
| +--ro max-support-call? uint32
| +--ro call-use-license? uint32
+--ro dspfarm-utlz-profile* [profile-id]
| +--ro profile-id uint32
| +--ro type? string
| +--ro profile-utlz? uint32
| +--ro profile-pvdm-entry* [pvdm-id]
| +--ro pvdm-id string
| +--ro pvdm-utlz? uint32
+--ro dspfarm-utlz-detail* [profile-id]
| +--ro profile-id uint32
| +--ro type? string
| +--ro profile-utlz? uint32
| +--ro dsp-utlz-detail-entry* [dsp-id]
| +--ro dsp-id string
| +--ro dsp-alloc-ratio? uint32
| +--ro dsp-channel-utlz? uint32
| +--ro dsp-credit-utlz? uint32
| +--ro dsp-session-utlz? uint32
+--ro dsapp-line-dev-sum!
| +--ro total-dev? uint32
| +--ro dsapp-line-dev-entry* [key-id]
| +--ro key-id string
| +--ro port-id
| | +--ro slot? uint32
| | +--ro subslot? uint32
| | +--ro port? uint32
| +--ro dev-name? string
| +--ro reg-state? voice-ios-xe-oper:reg-state-type
| +--ro dev-type? voice-ios-xe-oper:device-type
| +--ro dir-num? string
+--ro dsapp-line-fac!
| +--ro prefix? string
| +--ro call-forward-all? string
| +--ro call-forward-cancel? string
| +--ro pickup-local? string
| +--ro pickup-group? string
| +--ro pickup-direct? string
| +--ro cancel-call-waiting? string
| +--ro last-redial? string
+--ro active-voice-call-sum!
| +--ro total-entry? uint32
| +--ro active-voice-call-entry* [key-id]
| +--ro key-id string
| +--ro call-id? uint64
| +--ro voice-port-id? string
| +--ro codec-type? voice-ios-xe-oper:voip-codec-type
| +--ro vad? voice-ios-xe-oper:vad-configuration
| +--ro dsp-id? string
| +--ro dsp-type? voice-ios-xe-oper:dsp-type-enum
| +--ro dsp-version? string
| +--ro dsp-abort-packet-cnt? uint32
| +--ro dsp-tx-packet-cnt? uint32
| +--ro dsp-rx-packet-cnt? uint32
+--ro active-voip-call-summary!
| +--ro telephony-call-legs? uint32
| +--ro sip-call-legs? uint32
| +--ro total-call-legs? uint32
| +--ro active-voip-call-details* [call-index call-setuptime]
| +--ro call-index uint32
| +--ro call-setuptime yang:date-and-time
| +--ro call-id? uint32
| +--ro call-type? voice-ios-xe-oper:voice-call-type-enum
| +--ro bridge-id? uint32
| +--ro peer-id? int32
| +--ro direction? voice-ios-xe-oper:voice-call-direction-enum
| +--ro directory-number? string
| +--ro call-state? voice-ios-xe-oper:voice-call-state-enum
| +--ro call-duration? uint32
| +--ro transmit-packets? uint32
| +--ro transmit-bytes? uint32
| +--ro receive-packets? uint32
| +--ro receive-bytes? uint32
| +--ro remote-ip-address? inet:ip-address
| +--ro remote-media-port? uint16
| +--ro codec? voice-ios-xe-oper:voip-codec-type
+--ro sccp-ccm-group* [ccm-group-id]
| +--ro ccm-group-id uint32
| +--ro description? string
| +--ro bound-intf? string
| +--ro ipv6-address? inet:ip-address
| +--ro ipv4-address? inet:ip-address
| +--ro registration-retries? uint32
| +--ro registration-timeout? uint32
| +--ro keepalive-retries? uint32
| +--ro keepalive-timeout? uint32
| +--ro connect-retries? uint32
| +--ro connect-interval? uint32
| +--ro switchover-method? voice-ios-xe-oper:swo-method
| +--ro switchback-method? voice-ios-xe-oper:swb-method
| +--ro switchback-interval? uint32
| +--ro switchback-timeout? uint32
| +--ro signaling-dscp? uint8
| +--ro audio-dscp? uint8
| +--ro asso-ccm-entry* [ccm-id]
| | +--ro ccm-id uint32
| | +--ro ccm-priority? uint32
| +--ro asso-profile-entry* [profile-id]
| +--ro profile-id uint32
| +--ro reg-name? string
+--ro dspfp* [profile-id]
| +--ro profile-id uint32
| +--ro service-id? voice-ios-xe-oper:srvc-id
| +--ro resource-id? uint32
| +--ro secure-mode? voice-ios-xe-oper:secure-mode
| +--ro prof-admin-state? voice-ios-xe-oper:prof-admin-state
| +--ro prof-oper-state? voice-ios-xe-oper:prof-oper-state
| +--ro app-id? voice-ios-xe-oper:app-id
| +--ro app-assoc-status? voice-ios-xe-oper:app-assoc
| +--ro rsc-provider? voice-ios-xe-oper:rscprv-id
| +--ro rsc-status? voice-ios-xe-oper:rscprv-state
| +--ro total-rsc-cfg-count? uint32
| +--ro total-rsc-avail-count? uint32
| +--ro total-rsc-oos-count? uint32
| +--ro total-rsc-active-count? uint32
| +--ro total-codec-count? uint32
| +--ro dspfp-codec-entry* [codec-idx]
| +--ro codec-idx uint32
| +--ro codec-type? voice-ios-xe-oper:voip-codec-type
| +--ro max-pkt-period? uint32
+--ro voice-reg-phone-info* [pool-tag]
+--ro pool-tag uint32
+--ro id-network? inet:ip-address
+--ro reg-state? voice-ios-xe-oper:reg-state-type
+--ro voice-reg-line-info* [dialpeer-tag]
+--ro dialpeer-tag uint32
+--ro address? inet:ip-address
+--ro dir-number? string
[ssingh7@localhost ~]$

Hello,

I remember a similar problem from a while ago with a RESTCONF, where a string just wouldn't work, while others would. I think it has to do with the exact IOS version you are using.

It might also be the CRV1000 implementation...

I'll see if I can find out which one you need...

Thanks Georg... I was wondering the same about the IOS version but since regular CPU/Memory related stuff is working on this IOS-XE, I didn't play around much with it. I am not sure if this has something to do with any license or feature set that needs to be activated before any voice related information can be pulled.

Any insight you can provide will be very helpful. Thanks

Hello,

which XE version are you running on the CSR1000v ? The Github repository looks like it is writen for 17.2.1.

I am running 17.03.04a but there is no YANG model specific to this version. The closest available is is 17.3.1 but it's already similar to 17.2.1

simranigate
Beginner
Beginner

The issue was found to be with the CSR router. It just doesn't work with the voice specific yang model I configured the same on a 4000 series CUBE and it worked.

If anyone else is encountering the same issue then don't worry. The YANG model is correct but it just doesn't work with CSR router. You can try the same XPath string with a CUBE and it will work.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Recognize Your Peers