// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: deviceapis/device/v1/deviceapis_device_sip_v1.proto

// This CPP symbol can be defined to use imports that match up to the framework
// imports needed when using CocoaPods.
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
#endif

#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
 #import <Protobuf/GPBProtocolBuffers.h>
#else
 #import "GPBProtocolBuffers.h"
#endif

#if GOOGLE_PROTOBUF_OBJC_VERSION < 30007
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
#if 30007 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
#endif

// @@protoc_insertion_point(imports)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

CF_EXTERN_C_BEGIN

@class DEVICEAPISDEVICEV1EditSipAccountResponse_Error;
@class DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error;
@class DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus;
@class DEVICEAPISDEVICEV1SipAccount;
@class DEVICEAPISDEVICEV1SipTimeoutSettings;
@class DEVICEAPISDEVICEV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType

/** Тип состояния Sip-аккаунта */
typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_StateTypeUnknown = 0,

  /**
   * Клиент отправил REGISTER запрос, но ответ от сервера ещё не получен.
   * Идёт попытка регистрации
   **/
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_Registering = 1,

  /**
   * Успешная регистрация.
   * SIP-сервер подтвердил регистрацию, клиент готов принимать звонки
   **/
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_Registered = 2,

  /**
   * Клиент отключился или не регистрировался.
   * Возможные причины: Клиент отправил UNREGISTER; Истек срок регистрации (expires)
   **/
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_Unregistered = 3,

  /**
   * Ошибка при попытке регистрации.
   * Возможные причины: Неверный логин/пароль; SIP-сервер недоступен; Ошибка в конфигурации (порт, протокол, IP)
   **/
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_RegistrationFailed = 4,

  /**
   * Нет ответа от сервера в течение времени ожидания.
   * Возможные причины: Проблемы с сетью; SIP-сервер не отвечает; Нет ответа от сервера в течение времени ожидания
   **/
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_Timeout = 5,

  /**
   * SIP клиент остановлен вручную или отключён по конфигурации.
   * Не выполняется даже попытка регистрации
   **/
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_Disabled = 6,
};

GPBEnumDescriptor *DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_IsValidValue(int32_t value);

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceSipV1Root

/**
 * Exposes the extension registry for this file.
 *
 * The base class provides:
 * @code
 *   + (GPBExtensionRegistry *)extensionRegistry;
 * @endcode
 * which is a @c GPBExtensionRegistry that includes all the extensions defined by
 * this file and all files that it depends on.
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeviceapisDeviceSipV1Root : GPBRootObject
@end

#pragma mark - DEVICEAPISDEVICEV1GetSipAccountListRequest

/**
 * Запрос получения списка Sip-аккаунтов
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSipAccountListRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1GetSipAccountListResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSipAccountListResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetSipAccountListResponse_FieldNumber_DataArray = 1,
};

/**
 * Ответ на запрос получения списка Sip-аккаунтов
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSipAccountListResponse : GPBMessage

/** Массив Sip-аккаунтов */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<DEVICEAPISDEVICEV1SipAccount*> *dataArray;
/** The number of items in @c dataArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger dataArray_Count;

@end

#pragma mark - DEVICEAPISDEVICEV1EditSipAccountRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipAccountRequest_FieldNumber) {
  DEVICEAPISDEVICEV1EditSipAccountRequest_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditSipAccountRequest_FieldNumber_UpdateMask = 2,
};

/**
 * Запрос на редактирование Sip-аккаунта
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditSipAccountRequest : GPBMessage

/** Sip-аккаунт */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1SipAccount *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

/** Маска полей обновления */
@property(nonatomic, readwrite, strong, null_resettable) GPBFieldMask *updateMask;
/** Test to see if @c updateMask has been set. */
@property(nonatomic, readwrite) BOOL hasUpdateMask;

@end

#pragma mark - DEVICEAPISDEVICEV1SipAccount

typedef GPB_ENUM(DEVICEAPISDEVICEV1SipAccount_FieldNumber) {
  DEVICEAPISDEVICEV1SipAccount_FieldNumber_AccountId = 1,
  DEVICEAPISDEVICEV1SipAccount_FieldNumber_Name = 2,
  DEVICEAPISDEVICEV1SipAccount_FieldNumber_Number = 3,
  DEVICEAPISDEVICEV1SipAccount_FieldNumber_User = 4,
  DEVICEAPISDEVICEV1SipAccount_FieldNumber_Password = 5,
  DEVICEAPISDEVICEV1SipAccount_FieldNumber_RegServerAddress = 6,
  DEVICEAPISDEVICEV1SipAccount_FieldNumber_SipServerAddress = 7,
  DEVICEAPISDEVICEV1SipAccount_FieldNumber_SipProxyAddress = 8,
};

/**
 * Sip-аккаунт
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SipAccount : GPBMessage

/** ID Sip-аккаунта */
@property(nonatomic, readwrite, copy, null_resettable) NSString *accountId;

/** Имя */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *name;
/** Test to see if @c name has been set. */
@property(nonatomic, readwrite) BOOL hasName;

/** Номер */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *number;
/** Test to see if @c number has been set. */
@property(nonatomic, readwrite) BOOL hasNumber;

/** Имя пользователя */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *user;
/** Test to see if @c user has been set. */
@property(nonatomic, readwrite) BOOL hasUser;

/**
 * Пароль.
 * Не возвращается с сервера.
 * TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *password;
/** Test to see if @c password has been set. */
@property(nonatomic, readwrite) BOOL hasPassword;

/**
 * Адрес REG-сервера.
 * Сетевой адрес и порт.
 * Пример: 192.168.0.1:5060, reg.acme.io:5060
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *regServerAddress;
/** Test to see if @c regServerAddress has been set. */
@property(nonatomic, readwrite) BOOL hasRegServerAddress;

/**
 * Адрес SIP-сервера.
 * Сетевой адрес и порт.
 * Пример: 192.168.0.1:5060, sip.acme.io:5060
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *sipServerAddress;
/** Test to see if @c sipServerAddress has been set. */
@property(nonatomic, readwrite) BOOL hasSipServerAddress;

/**
 * Адрес SIP-прокси.
 * Сетевой адрес и порт.
 * Пример: 192.168.0.1:5060, proxy.acme.io:5060
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *sipProxyAddress;
/** Test to see if @c sipProxyAddress has been set. */
@property(nonatomic, readwrite) BOOL hasSipProxyAddress;

@end

#pragma mark - DEVICEAPISDEVICEV1EditSipTimeoutSettingsRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipTimeoutSettingsRequest_FieldNumber) {
  DEVICEAPISDEVICEV1EditSipTimeoutSettingsRequest_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditSipTimeoutSettingsRequest_FieldNumber_UpdateMask = 2,
};

/**
 * Запрос редактирования настроек максимального времени общения и дозвона
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditSipTimeoutSettingsRequest : GPBMessage

/** Настройки максимального времени общения и дозвона */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1SipTimeoutSettings *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

/** Маска полей обновления */
@property(nonatomic, readwrite, strong, null_resettable) GPBFieldMask *updateMask;
/** Test to see if @c updateMask has been set. */
@property(nonatomic, readwrite) BOOL hasUpdateMask;

@end

#pragma mark - DEVICEAPISDEVICEV1GetSipTimeoutSettingsRequest

/**
 * Запрос получения настроек максимального времени общения и дозвона
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSipTimeoutSettingsRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения настроек максимального времени общения и дозвона
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse_Type_OneOfCase typeOneOfCase;

/** Настройки максимального времени общения и дозвона */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1SipTimeoutSettings *data_p;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1GetSipTimeoutSettingsResponse *message);

#pragma mark - DEVICEAPISDEVICEV1EditSipAccountResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipAccountResponse_FieldNumber) {
  DEVICEAPISDEVICEV1EditSipAccountResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipAccountResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1EditSipAccountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditSipAccountResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос редактирования Sip-аккаунта
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditSipAccountResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1EditSipAccountResponse_Type_OneOfCase typeOneOfCase;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EditSipAccountResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1EditSipAccountResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1EditSipAccountResponse *message);

#pragma mark - DEVICEAPISDEVICEV1EditSipAccountResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipAccountResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1EditSipAccountResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipAccountResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1EditSipAccountResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditSipAccountResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса редактирования Sip-аккаунта
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditSipAccountResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1EditSipAccountResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1ValidationError *validation;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void DEVICEAPISDEVICEV1EditSipAccountResponse_Error_ClearReasonOneOfCase(DEVICEAPISDEVICEV1EditSipAccountResponse_Error *message);

#pragma mark - DEVICEAPISDEVICEV1SipTimeoutSettings

typedef GPB_ENUM(DEVICEAPISDEVICEV1SipTimeoutSettings_FieldNumber) {
  DEVICEAPISDEVICEV1SipTimeoutSettings_FieldNumber_CallTimeout = 1,
  DEVICEAPISDEVICEV1SipTimeoutSettings_FieldNumber_TalkTimeout = 2,
};

/**
 * Настройки максимального времени общения и дозвона
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1SipTimeoutSettings : GPBMessage

/** Максимальное время дозвона в секундах */
@property(nonatomic, readwrite) int32_t callTimeout;

/** Максимальное время общения в секундах */
@property(nonatomic, readwrite) int32_t talkTimeout;

@end

#pragma mark - DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_FieldNumber) {
  DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос редактирования настроек максимального времени общения и дозвона
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Type_OneOfCase typeOneOfCase;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse *message);

#pragma mark - DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса редактирования настроек максимального времени общения и дозвона
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1ValidationError *validation;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error_ClearReasonOneOfCase(DEVICEAPISDEVICEV1EditSipTimeoutSettingsResponse_Error *message);

#pragma mark - DEVICEAPISDEVICEV1GetSipAccountStatusListRequest

/**
 * Запрос получения статусов регистрации Sip-аккаунтов
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSipAccountStatusListRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1GetSipAccountStatusListResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_FieldNumber_DataArray = 1,
};

/**
 * Ответ на запрос получения статусов регистрации Sip-аккаунтов
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSipAccountStatusListResponse : GPBMessage

/** Статус аккаунтов Sip */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus*> *dataArray;
/** The number of items in @c dataArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger dataArray_Count;

@end

#pragma mark - DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_FieldNumber) {
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_FieldNumber_SipAccountId = 1,
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_FieldNumber_StateType = 2,
  DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_FieldNumber_LastAttemptRegisterAt = 3,
};

/**
 * Статус аккаунтов Sip
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus : GPBMessage

/** ID Sip-аккаунта */
@property(nonatomic, readwrite, copy, null_resettable) NSString *sipAccountId;

/** Статус регистрации Sip */
@property(nonatomic, readwrite) DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType stateType;

/** Дата последней попытки регистрации UnixTime */
@property(nonatomic, readwrite) int32_t lastAttemptRegisterAt;

@end

/**
 * Fetches the raw value of a @c DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus's @c stateType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_RawValue(DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus *message);
/**
 * Sets the raw value of an @c DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus's @c stateType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetDEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus_StateType_RawValue(DEVICEAPISDEVICEV1GetSipAccountStatusListResponse_SipStatus *message, int32_t value);

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
