# napalm-yealink NAPALM driver for Yealink IP phones and video endpoints (T, W, CP and VP series), built on [napalm-device-types](https://git.netork.io/NAPALM/napalm-device-types) (`PhoneDriver`). ## Tested against | Model | Firmware | |---|---| | not recorded yet | not recorded yet | ## Connection The phone's REST API under `/api/v1/` over HTTPS on port 443. `open()` logs in at `/api/v1/session/login` with the username and the MD5 hex digest of the password (the driver computes it) and keeps the session cookie. A refused login does not fail `open()`: even without a session, `/api/v1/system/info` names the model and firmware. ```python from napalm import get_network_driver driver = get_network_driver("yealink") with driver("192.0.2.20", "admin", "secret") as device: print(device.get_facts()) ``` | Optional argument | Default | Meaning | |---|---|---| | `verify_ssl` | `False` | verify the phone's TLS certificate | ## Supported | Getter / action | | |---|---| | `get_facts` | model, firmware, hostname, serial number from `/api/v1/system/info` | | `is_alive` | TCP connect to port 443 | ## Not supported Everything else a NAPALM driver can offer — interfaces, configuration, LLDP, ARP, MAC table, NTP, SNMP, users, routes, `ping` and the CLI — raises `NotImplementedError`. `get_facts` reports no uptime and no interfaces. ## Development The rules are in [STANDARDS.md](https://git.netork.io/NAPALM/driver-standard/src/branch/main/STANDARDS.md). ```bash python -m venv .venv && .venv/bin/pip install -e ".[dev]" .venv/bin/pytest --cov ``` ## License Apache-2.0