l->t('SIP configuration'); if ($this->talkConfig->getSignalingMode() === Config::SIGNALING_INTERNAL) { return '[skip] ' . $name; } return $name; } #[\Override] public function run(): SetupResult { if ($this->talkConfig->getSignalingMode() === Config::SIGNALING_INTERNAL) { return SetupResult::success($this->l->t('Using the SIP functionality requires a High-performance backend.')); } $query = $this->connection->getQueryBuilder(); $query->select('phone_number') ->from('talk_phone_numbers') ->where($query->expr()->like('phone_number', $query->createNamedParameter( $this->connection->escapeLikeParameter('+') . '%' ))) ->orWhere($query->expr()->like('phone_number', $query->createNamedParameter( $this->connection->escapeLikeParameter('0') . '%' ))); $result = $query->executeQuery(); $invalidNumbers = $result->fetchAll(\PDO::FETCH_COLUMN); $result->closeCursor(); if (!empty($invalidNumbers)) { $message = $this->l->t("Assigned Talk phone numbers must not start with + or 0. Please remove or update the following numbers:\n{list}"); $message = str_replace( '{list}', implode("\n", $invalidNumbers), $message ); return SetupResult::error($message, 'https://portal.nextcloud.com/article/Nextcloud-Talk/Nextcloud-Talk-Phone/Direct-Dial-in#content-provisioning'); } if ($this->talkConfig->getSIPSharedSecret() === '' && $this->talkConfig->getDialInInfo() === '') { return SetupResult::info($this->l->t('No SIP backend configured')); } return SetupResult::success(); } }