diff --git a/src/session_server.h b/src/session_server.h
index 1f3f31c..c27ef55 100644
--- a/src/session_server.h
+++ b/src/session_server.h
@@ -178,7 +178,7 @@
  *
  *         Only with SSH support:
  *         4 if an SSH message was processed,
- *         5 if a new NETCONF SSH channel was created; call #nc_ssh_ps_accept_channel()
+ *         5 if a new NETCONF SSH channel was created; call #nc_ps_accept_ssh_channel
  *           to establish a new NETCONF session.
  */
 int nc_ps_poll(struct nc_pollsession *ps, int timeout);
diff --git a/src/session_server_ch.h b/src/session_server_ch.h
index c637d39..22e109a 100644
--- a/src/session_server_ch.h
+++ b/src/session_server_ch.h
@@ -177,14 +177,14 @@
  * @brief Set trusted Call Home Certificate Authority certificate locations. There
  *        can only be one file and one directory, they are replaced if already set.
  *
- * @param[in] cacert_file_path Path to a trusted CA cert store file in PEM format.
- *                             Can be NULL.
- * @param[in] cacert_dir_path Path to a trusted CA cert store hashed directory
- *                            (c_rehash utility can be used to create hashes)
- *                            with PEM files. Can be NULL.
+ * @param[in] ca_file Path to a trusted CA cert store file in PEM format.
+ *                    Can be NULL.
+ * @param[in] ca_dir Path to a trusted CA cert store hashed directory
+ *                   (c_rehash utility can be used to create hashes)
+ *                   with PEM files. Can be NULL.
  * @return 0 on success, -1 on error.
  */
-int nc_server_tls_ch_set_trusted_cacert_locations(const char *cacert_file_path, const char *cacert_dir_path);
+int nc_server_tls_ch_set_trusted_ca_paths(const char *ca_file, const char *ca_dir);
 
 /**
  * @brief Destroy and clean all the set Call Home certificates and private keys.
@@ -196,12 +196,12 @@
  * @brief Set Call Home Certificate Revocation List locations. There can only be
  *        one file and one directory, they are replaced if already set.
  *
- * @param[in] crl_file_path Path to a CRL store file in PEM format. Can be NULL.
- * @param[in] crl_dir_path Path to a CRL store hashed directory (c_rehash utility
- *                         can be used to create hashes) with PEM files. Can be NULL.
+ * @param[in] crl_file Path to a CRL store file in PEM format. Can be NULL.
+ * @param[in] crl_dir Path to a CRL store hashed directory (c_rehash utility
+ *                    can be used to create hashes) with PEM files. Can be NULL.
  * @return 0 on success, -1 on error.
  */
-int nc_server_tls_ch_set_crl_locations(const char *crl_file_path, const char *crl_dir_path);
+int nc_server_tls_ch_set_crl_paths(const char *crl_file, const char *crl_dir);
 
 /**
  * @brief Destroy and clean Call Home CRLs. Call Home certificates, private keys,
