sinch.domains.voice.models.v2.shared.call module

class sinch.domains.voice.models.v2.shared.call.Call(
*,
callId: Annotated[str, Strict(strict=True)],
projectId: Annotated[str, Strict(strict=True)],
serviceId: Annotated[str, Strict(strict=True)],
sessionId: Annotated[str, Strict(strict=True)],
callName: Annotated[str, Strict(strict=True)] | None = None,
bridgeName: Annotated[str, Strict(strict=True)] | None = None,
batchId: Annotated[str, Strict(strict=True)] | None = None,
from_: Annotated[Phone | SipFrom, FieldInfo(annotation=NoneType, required=True, discriminator='type')] | None = None,
to: Annotated[Phone | Sip | Stream | VoiceRelay, FieldInfo(annotation=NoneType, required=True, discriminator='type')] | None = None,
startTime: datetime,
updateTime: datetime | None = None,
callType: Literal['PHONE', 'SIP', 'STREAM', 'VOICE_RELAY'] | Annotated[str, Strict(strict=True)],
direction: Literal['INBOUND', 'OUTBOUND'] | Annotated[str, Strict(strict=True)],
answerTime: datetime | None = None,
endTime: datetime | None = None,
callDurationSeconds: Annotated[int, Strict(strict=True)] | None = None,
callResult: Literal['QUEUED', 'INITIATED', 'IN_PROGRESS', 'COMPLETED', 'REJECTED', 'NO_ANSWER', 'CANCEL', 'BUSY', 'FAILED'] | Annotated[str, Strict(strict=True)],
callReason: Literal['OK', 'NOT_AVAILABLE', 'CALLER_HANGUP', 'CALLEE_HANGUP', 'MANAGER_HANGUP', 'DID_NOT_FOUND', 'INVALID_SCRIPT', 'UNKNOWN_PRODUCT', 'NO_MORE_ROUTES', 'ERROR'] | Annotated[str, Strict(strict=True)] | None = None,
originationType: Literal['PHONE', 'SIP', 'SERVER'] | Annotated[str, Strict(strict=True)],
callRate: Money,
callResourceUrl: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • callId (Annotated[str, Strict(strict=True)])

  • projectId (Annotated[str, Strict(strict=True)])

  • serviceId (Annotated[str, Strict(strict=True)])

  • sessionId (Annotated[str, Strict(strict=True)])

  • callName (Annotated[str, Strict(strict=True)] | None)

  • bridgeName (Annotated[str, Strict(strict=True)] | None)

  • batchId (Annotated[str, Strict(strict=True)] | None)

  • from_ (Annotated[Phone | SipFrom, FieldInfo(annotation=NoneType, required=True, discriminator='type')] | None)

  • to (Annotated[Phone | Sip | Stream | VoiceRelay, FieldInfo(annotation=NoneType, required=True, discriminator='type')] | None)

  • startTime (datetime)

  • updateTime (datetime | None)

  • callType (Literal['PHONE', 'SIP', 'STREAM', 'VOICE_RELAY'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • direction (Literal['INBOUND', 'OUTBOUND'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • answerTime (datetime | None)

  • endTime (datetime | None)

  • callDurationSeconds (Annotated[int, Strict(strict=True)] | None)

  • callResult (Literal['QUEUED', 'INITIATED', 'IN_PROGRESS', 'COMPLETED', 'REJECTED', 'NO_ANSWER', 'CANCEL', 'BUSY', 'FAILED'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • callReason (Literal['OK', 'NOT_AVAILABLE', 'CALLER_HANGUP', 'CALLEE_HANGUP', 'MANAGER_HANGUP', 'DID_NOT_FOUND', 'INVALID_SCRIPT', 'UNKNOWN_PRODUCT', 'NO_MORE_ROUTES', 'ERROR'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • originationType (Literal['PHONE', 'SIP', 'SERVER'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • callRate (Money)

  • callResourceUrl (Annotated[str, Strict(strict=True)])

  • extra_data (Any)

call_id: Annotated[str, Strict(strict=True)]
project_id: Annotated[str, Strict(strict=True)]
service_id: Annotated[str, Strict(strict=True)]
session_id: Annotated[str, Strict(strict=True)]
call_name: Annotated[str, Strict(strict=True)] | None
bridge_name: Annotated[str, Strict(strict=True)] | None
batch_id: Annotated[str, Strict(strict=True)] | None
from_: Annotated[Phone | SipFrom, FieldInfo(annotation=NoneType, required=True, discriminator='type')] | None
to: Annotated[Phone | Sip | Stream | VoiceRelay, FieldInfo(annotation=NoneType, required=True, discriminator='type')] | None
start_time: datetime
update_time: datetime | None
call_type: Literal['PHONE', 'SIP', 'STREAM', 'VOICE_RELAY'] | Annotated[str, Strict(strict=True)]
direction: Literal['INBOUND', 'OUTBOUND'] | Annotated[str, Strict(strict=True)]
answer_time: datetime | None
end_time: datetime | None
call_duration_seconds: Annotated[int, Strict(strict=True)] | None
call_result: Literal['QUEUED', 'INITIATED', 'IN_PROGRESS', 'COMPLETED', 'REJECTED', 'NO_ANSWER', 'CANCEL', 'BUSY', 'FAILED'] | Annotated[str, Strict(strict=True)]
call_reason: Literal['OK', 'NOT_AVAILABLE', 'CALLER_HANGUP', 'CALLEE_HANGUP', 'MANAGER_HANGUP', 'DID_NOT_FOUND', 'INVALID_SCRIPT', 'UNKNOWN_PRODUCT', 'NO_MORE_ROUTES', 'ERROR'] | Annotated[str, Strict(strict=True)] | None
origination_type: Literal['PHONE', 'SIP', 'SERVER'] | Annotated[str, Strict(strict=True)]
call_rate: Money
call_resource_url: Annotated[str, Strict(strict=True)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None