/* Options: Date: 2025-05-04 22:17:55 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AddConferenceMember.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* /** * Converts the specified call into a conference call if necessary and dials the specified member. */ @Route(Path="/sessions/{sessionId}/conference/members", Verbs="POST") @Api(Description="Converts the specified call into a conference call if necessary and dials the specified member.") open class AddConferenceMember : IReturn { /** * The ID of the active session */ @ApiMember(Description="The ID of the active session") open var sessionId:String? = null /** * The sid of the active call that is on the voice device */ @ApiMember(Description="The sid of the active call that is on the voice device") open var callSid:String? = null /** * The party to invite to the conference */ @ApiMember(Description="The party to invite to the conference") open var destination:String? = null /** * The FROM (caller ID) to use */ @ApiMember(Description="The FROM (caller ID) to use") open var fromNumber:String? = null companion object { private val responseType = SessionInfo::class.java } override fun getResponseType(): Any? = AddConferenceMember.responseType } open class SessionInfo : EntityInfo() { /** * The state of the session */ @ApiMember(Description="The state of the session") open var dialState:SessionDialState? = null /** * The call state of the session */ @ApiMember(Description="The call state of the session") open var callState:SessionCallState? = null /** * The queue state of the session */ @ApiMember(Description="The queue state of the session") open var queueState:SessionQueueStates? = null /** * The ID of the account associated with the flow */ @ApiMember(Description="The ID of the account associated with the flow") open var accountId:String? = null /** * The name of the account associated with the session */ @ApiMember(Description="The name of the account associated with the session") open var accountName:String? = null /** * The ID of the customer this session is associated with */ @ApiMember(Description="The ID of the customer this session is associated with") open var customerId:String? = null /** * The customer breadcrumb this session is associated with */ @ApiMember(Description="The customer breadcrumb this session is associated with") open var customerBreadcrumb:ArrayList? = null /** * The name of the customer this session is associated with */ @ApiMember(Description="The name of the customer this session is associated with") open var customerName:String? = null /** * The ID of the endpoint associated with this session */ @ApiMember(Description="The ID of the endpoint associated with this session") open var endpointId:String? = null /** * The name of the endpoint associated with this session */ @ApiMember(Description="The name of the endpoint associated with this session") open var endpointName:String? = null /** * The date the call completed */ @ApiMember(Description="The date the call completed") open var dateCompleted:String? = null /** * The destination of the session (e.g. what was entered into the Dial box) */ @ApiMember(Description="The destination of the session (e.g. what was entered into the Dial box)") open var destination:String? = null /** * The to address if any */ @ApiMember(Description="The to address if any") open var toAddress:String? = null /** * The from address if any */ @ApiMember(Description="The from address if any") open var fromAddress:String? = null /** * The from name if any */ @ApiMember(Description="The from name if any") open var fromName:String? = null /** * Answered by name (if any) */ @ApiMember(Description="Answered by name (if any)") open var answeredByName:String? = null /** * The ID of the queue member assigned to this call */ @ApiMember(Description="The ID of the queue member assigned to this call") open var queueMemberId:String? = null /** * The flow channel */ @ApiMember(Description="The flow channel") open var channel:FlowChannels? = null /** * Has the session ended */ @ApiMember(Description="Has the session ended") open var ended:Boolean? = null /** * The outcome of the call */ @ApiMember(Description="The outcome of the call") open var outcome:String? = null /** * The twilio Call SID of this session */ @ApiMember(Description="The twilio Call SID of this session") open var callSid:String? = null /** * Any console data for this session */ @ApiMember(Description="Any console data for this session") open var consoleData:String? = null /** * The name of the hold queue for this call */ @ApiMember(Description="The name of the hold queue for this call") open var holdQueueName:String? = null /** * The user ID who put this call on hold */ @ApiMember(Description="The user ID who put this call on hold") open var heldByUserId:String? = null /** * The reason for the hold */ @ApiMember(Description="The reason for the hold") open var holdReason:SessionHoldReasons? = null /** * The SID of the conference if in a conference call */ @ApiMember(Description="The SID of the conference if in a conference call") open var conferenceSid:String? = null /** * The display name for this session */ @ApiMember(Description="The display name for this session") open var displayName:String? = null /** * The log entries for this session */ @ApiMember(Description="The log entries for this session") open var log:ArrayList? = null /** * The members of this session */ @ApiMember(Description="The members of this session") open var members:ArrayList? = null /** * The callback number (typically used for SIP to User calls) */ @ApiMember(Description="The callback number (typically used for SIP to User calls)") open var callbackNumber:String? = null /** * The ID of the endpoint that answered */ @ApiMember(Description="The ID of the endpoint that answered") open var answeredById:String? = null /** * Is this session incoming or outgoing? */ @ApiMember(Description="Is this session incoming or outgoing?") open var direction:SessionDirections? = null /** * The phone number that this session is coming from (used with SMS chats) */ @ApiMember(Description="The phone number that this session is coming from (used with SMS chats)") open var fromPhoneNumber:String? = null /** * The Call SID of the most recently added conference participant */ @ApiMember(Description="The Call SID of the most recently added conference participant") open var mostRecentParticipantCallSid:String? = null /** * Was this session missed? */ @ApiMember(Description="Was this session missed?") open var wasMissed:Boolean? = null /** * The ring queue that the call is currently in */ @ApiMember(Description="The ring queue that the call is currently in") open var ringQueueId:String? = null } enum class FlowChannels { Voice, Chat, Fax, } enum class SessionDirections { Incoming, Outgoing, } enum class SessionCallState { Disconnected, Ringing, Connected, Hold, Passive, } enum class SessionHoldReasons { None, Transferring, } enum class SessionQueueStates { None, Queued, Ringing, Connected, Hold, Disconnected, } open class EntityInfo { /** * The ID of the object */ @ApiMember(Description="The ID of the object") open var id:String? = null /** * The date the object was created */ @ApiMember(Description="The date the object was created") open var dateCreated:String? = null /** * The date the object was last modified */ @ApiMember(Description="The date the object was last modified") open var dateLastModified:String? = null /** * The user that created this object */ @ApiMember(Description="The user that created this object") open var createdBy:String? = null /** * The user that last modified this object */ @ApiMember(Description="The user that last modified this object") open var lastModifiedBy:String? = null } open class CustomerBreadcrumb { open var id:String? = null open var name:String? = null } enum class SessionDialState { None, Active, } open class SessionLogInfo { open var date:String? = null open var message:String? = null } open class SessionMemberInfo { open var identity:String? = null open var endpointId:String? = null open var displayName:String? = null open var isOriginalMember:Boolean? = null open var avatarUrl:String? = null open var applicationData:HashMap? = null open var callState:SessionMemberCallState? = null open var role:SessionMemberRoles? = null open var callSid:String? = null open var muted:Boolean? = null } enum class SessionMemberCallState { None, Ringing, Connected, Hold, } enum class SessionMemberRoles { None, Caller, Agent, Transfer, }