| /* |
| * Copyright (C) 2022 Savoir-faire Linux Inc. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU Affero General Public License as |
| * published by the Free Software Foundation; either version 3 of the |
| * License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU Affero General Public License for more details. |
| * |
| * You should have received a copy of the GNU Affero General Public |
| * License along with this program. If not, see |
| * <https://www.gnu.org/licenses/>. |
| */ |
| |
| /** |
| * Account parameters |
| * |
| * See `jami-daemon/src/account_schema.h` |
| */ |
| export interface AccountDetails { |
| // Common account parameters |
| 'Account.type': string; |
| 'Account.alias': string; |
| 'Account.displayName': string; |
| 'Account.mailbox': string; |
| 'Account.enable': string; |
| 'Account.autoAnswer': string; |
| 'Account.sendReadReceipt': string; |
| 'Account.rendezVous': string; |
| 'Account.registrationExpire': string; |
| 'Account.dtmfType': string; |
| 'Account.ringtonePath': string; |
| 'Account.ringtoneEnabled': string; |
| 'Account.videoEnabled': string; |
| 'Account.keepAliveEnabled': string; |
| 'Account.presenceEnabled': string; |
| 'Account.presencePublishSupported': string; |
| 'Account.presenceSubscribeSupported': string; |
| 'Account.presenceStatus': string; |
| 'Account.presenceNote': string; |
| 'Account.archivePassword': string; |
| 'Account.managerUri': string; |
| 'Account.managerUsername': string; |
| |
| 'Account.hostname': string; |
| 'Account.username': string; |
| 'Account.routeset': string; |
| 'Account.allowIPAutoRewrite': string; |
| 'Account.password': string; |
| 'Account.realm': string; |
| 'Account.useragent': string; |
| 'Account.hasCustomUserAgent': string; |
| 'Account.audioPortMin': string; |
| 'Account.audioPortMax': string; |
| 'Account.videoPortMin': string; |
| 'Account.videoPortMax': string; |
| |
| 'Account.bindAddress': string; |
| 'Account.localInterface': string; |
| 'Account.publishedSameAsLocal': string; |
| 'Account.localPort': string; |
| 'Account.publishedPort': string; |
| 'Account.publishedAddress': string; |
| 'Account.upnpEnabled': string; |
| 'Account.defaultModerators': string; |
| 'Account.localModeratorsEnabled': string; |
| 'Account.allModeratorEnabled': string; |
| |
| // SIP specific parameters |
| 'STUN.server': string; |
| 'STUN.enable': string; |
| 'TURN.server': string; |
| 'TURN.enable': string; |
| 'TURN.username': string; |
| 'TURN.password': string; |
| 'TURN.realm': string; |
| |
| // SRTP specific parameters |
| 'SRTP.enable': string; |
| 'SRTP.keyExchange': string; |
| 'SRTP.rtpFallback': string; |
| |
| 'TLS.listenerPort': string; |
| 'TLS.enable': string; |
| 'TLS.certificateListFile': string; |
| 'TLS.certificateFile': string; |
| 'TLS.privateKeyFile': string; |
| 'TLS.password': string; |
| 'TLS.method': string; |
| 'TLS.ciphers': string; |
| 'TLS.serverName': string; |
| 'TLS.verifyServer': string; |
| 'TLS.verifyClient': string; |
| 'TLS.requireClientCertificate': string; |
| 'TLS.negotiationTimeoutSec': string; |
| |
| // DHT specific parameters |
| 'DHT.port': string; |
| 'DHT.PublicInCalls': string; |
| |
| // Volatile parameters |
| 'Account.registrationStatus': string; |
| 'Account.registrationCode': string; |
| 'Account.registrationDescription': string; |
| 'Transport.statusCode': string; |
| 'Transport.statusDescription': string; |
| } |
| |
| /** |
| * Volatile properties |
| * |
| * See `jami-daemon/src/jami/account_const.h` |
| */ |
| export interface VolatileDetails { |
| 'Account.active': string; |
| 'Account.deviceAnnounced': string; |
| 'Account.registeredName': string; |
| } |
| |
| /** |
| * See `ConfProperties` in `jami-daemon/src/jami/account_const.h |
| */ |
| export interface AccountConfig { |
| id?: string; |
| type?: string; |
| alias?: string; |
| displayName?: string; |
| enable?: boolean; |
| mailbox?: string; |
| dtmfType?: string; |
| autoAnswer?: boolean; |
| sendReadReceipt?: string; |
| rendezVous?: boolean; |
| activeCallLimit?: string; |
| hostname?: string; |
| username?: string; |
| bindAddress?: string; |
| routeset?: string; |
| password?: string; |
| realm?: string; |
| localInterface?: string; |
| publishedSameAsLocal?: boolean; |
| localPort?: string; |
| publishedPort?: string; |
| publishedAddress?: string; |
| useragent?: string; |
| upnpEnabled?: boolean; |
| hasCustomUserAgent?: string; |
| allowCertFromHistory?: string; |
| allowCertFromContact?: string; |
| allowCertFromTrusted?: string; |
| archivePassword?: string; |
| archiveHasPassword?: string; |
| archivePath?: string; |
| archivePIN?: string; |
| deviceID?: string; |
| deviceName?: string; |
| proxyEnabled?: boolean; |
| proxyServer?: string; |
| proxyPushToken?: string; |
| keepAliveEnabled?: boolean; |
| peerDiscovery?: string; |
| accountDiscovery?: string; |
| accountPublish?: string; |
| managerUri?: string; |
| managerUsername?: string; |
| bootstrapListUrl?: string; |
| dhtProxyListUrl?: string; |
| defaultModerators?: string; |
| localModeratorsEnabled?: boolean; |
| allModeratorsEnabled?: boolean; |
| allowIPAutoRewrite?: string; |
| |
| // Audio |
| audioPortMax?: string; |
| audioPortMin?: string; |
| |
| // Video |
| videoEnabled?: boolean; |
| videoPortMax?: boolean; |
| videoPortMin?: string; |
| |
| // Ringtone |
| ringtonePath?: string; |
| ringtoneEnabled?: boolean; |
| } |