Telepathy protocol enumerations

Telepathy protocol enumerations — Enumerated types and bitfields from the Telepathy spec

Functions

#define TP_USER_ACTION_TIME_NOT_USER_ACTION
#define TP_USER_ACTION_TIME_CURRENT_TIME
#define TP_NUM_ENTITY_TYPES
#define TP_NUM_CONNECTION_STATUSES
#define TP_NUM_CONNECTION_STATUS_REASONS
#define TP_NUM_CONNECTION_PRESENCE_TYPES
#define TP_NUM_DTMF_EVENTS
gchar tp_dtmf_event_to_char ()
#define TP_NUM_CHANNEL_TEXT_SEND_ERRORS
#define TP_NUM_CHANNEL_TEXT_MESSAGE_TYPES
#define TP_NUM_CHANNEL_CHAT_STATES
#define TP_NUM_CHANNEL_GROUP_CHANGE_REASONS
#define TP_NUM_DELIVERY_STATUSES
#define TP_NUM_SOCKET_ACCESS_CONTROLS
#define TP_NUM_SOCKET_ADDRESS_TYPES
#define TP_NUM_LOCAL_HOLD_STATES
#define TP_NUM_LOCAL_HOLD_STATE_REASONS
#define TP_NUM_ACCESS_CONTROL_TYPES
#define TP_NUM_FILE_HASH_TYPES
#define TP_NUM_FILE_TRANSFER_STATES
#define TP_NUM_FILE_TRANSFER_STATE_CHANGE_REASONS
#define TP_NUM_TUBE_CHANNEL_STATES
#define TP_NUM_DEBUG_LEVELS
#define TP_NUM_SERVICE_POINT_TYPES
#define TP_NUM_TLS_CERTIFICATE_REJECT_REASONS
#define TP_NUM_TLS_CERTIFICATE_STATES
#define TP_NUM_CONTACT_METADATA_STORAGE_TYPES
#define TP_NUM_SUBSCRIPTION_STATES
#define TP_NUM_CONTACT_LIST_STATES
#define TP_NUM_HTTP_METHODS
#define TP_NUM_SASL_ABORT_REASONS
#define TP_NUM_SASL_STATUSES
#define TP_NUM_CAPTCHA_STATUSES
#define TP_NUM_CAPTCHA_CANCEL_REASONS
#define TP_NUM_CALL_CONTENT_DISPOSITIONS
#define TP_NUM_CALL_CONTENT_PACKETIZATION_TYPES
#define TP_NUM_CALL_STATES
#define TP_NUM_CALL_STATE_CHANGE_REASONS
#define TP_NUM_CALL_STREAM_CANDIDATE_TYPES
#define TP_NUM_RCPT_XR_RTT_MODES
#define TP_NUM_SENDING_STATES
#define TP_NUM_STREAM_COMPONENTS
#define TP_NUM_STREAM_ENDPOINT_STATES
#define TP_NUM_STREAM_FLOW_STATES
#define TP_NUM_STREAM_TRANSPORT_TYPES
#define TP_NUM_MEDIA_STREAM_BASE_PROTOS
#define TP_NUM_MEDIA_STREAM_DIRECTIONS
#define TP_NUM_MEDIA_STREAM_TYPES

Types and Values

enum TpEntityType
enum TpConnMgrParamFlags
enum TpConnectionStatus
enum TpConnectionStatusReason
enum TpConnectionAliasFlags
enum TpConnectionPresenceType
enum TpDTMFEvent
enum TpChannelTextSendError
enum TpChannelTextMessageType
enum TpChannelChatState
enum TpChannelGroupFlags
enum TpChannelGroupChangeReason
enum TpChannelPasswordFlags
enum TpContactBlockingCapabilities
enum TpDeliveryReportingSupportFlags
enum TpDeliveryStatus
enum TpMessagePartSupportFlags
enum TpMessageSendingFlags
enum TpSocketAccessControl
enum TpSocketAddressType
enum TpLocalHoldState
enum TpLocalHoldStateReason
enum TpAccessControlType
enum TpFileHashType
enum TpFileTransferState
enum TpFileTransferStateChangeReason
enum TpTubeChannelState
enum TpDebugLevel
enum TpContactInfoFlags
enum TpContactInfoFieldFlags
enum TpLocationFeatures
enum TpServicePointType
enum TpAnonymityModeFlags
enum TpStorageRestrictionFlags
enum TpTLSCertificateRejectReason
enum TpTLSCertificateState
enum TpContactMetadataStorageType
enum TpSubscriptionState
enum TpContactListState
enum TpHTTPMethod
enum TpMailNotificationFlags
enum TpSASLAbortReason
enum TpSASLStatus
enum TpCaptchaStatus
enum TpCaptchaCancelReason
enum TpCaptchaFlags
enum TpCallContentDisposition
enum TpCallContentPacketizationType
enum TpCallState
enum TpCallStateChangeReason
enum TpCallStreamCandidateType
enum TpRCPTXRRTTMode
enum TpSendingState
enum TpStreamComponent
enum TpStreamEndpointState
enum TpStreamFlowState
enum TpStreamTransportType
enum TpCallFlags
enum TpCallMemberFlags
enum TpRTCPXRStatisticsFlags
enum TpMediaStreamBaseProto
enum TpMediaStreamDirection
enum TpMediaStreamType

Object Hierarchy


Includes

#include <telepathy-glib/telepathy-glib.h>

Description

This header exposes the constants from the Telepathy specification as C enums. It is automatically generated from the specification.

The names used in the specification (e.g. Connection_Status_Connected) are converted to upper-case and given a TP_ prefix, e.g. TP_CONNECTION_STATUS_CONNECTED.

Each enum also has a constant for the number of members, named like TP_NUM_CONNECTION_STATUSES.

The numeric constants TP_USER_ACTION_TIME_NOT_USER_ACTION and TP_USER_ACTION_TIME_CURRENT_TIME are also provided.

Functions

TP_USER_ACTION_TIME_NOT_USER_ACTION

#define TP_USER_ACTION_TIME_NOT_USER_ACTION (G_GINT64_CONSTANT (0))

The "user action time" used by methods like tp_account_channel_request_new() to represent channel requests that are not a result of user action.

See also “user-action-time”, tp_user_action_time_from_x11(), tp_user_action_time_should_present() and TP_USER_ACTION_TIME_CURRENT_TIME.

Since 0.11.13


TP_USER_ACTION_TIME_CURRENT_TIME

#define TP_USER_ACTION_TIME_CURRENT_TIME (G_MAXINT64)

The "user action time" used by methods like tp_account_channel_request_new() to represent channel requests that should be treated as though they happened at the current time. This is the same concept as GDK_CURRENT_TIME in GDK (but note that the numerical value used in Telepathy is not the same).

See also “user-action-time”, tp_user_action_time_from_x11(), tp_user_action_time_should_present() and TP_USER_ACTION_TIME_NOT_USER_ACTION.

Since 0.11.13


TP_NUM_ENTITY_TYPES

#define TP_NUM_ENTITY_TYPES (3+1)

1 higher than the highest valid value of TpEntityType.


TP_NUM_CONNECTION_STATUSES

#define TP_NUM_CONNECTION_STATUSES (2+1)

1 higher than the highest valid value of TpConnectionStatus.


TP_NUM_CONNECTION_STATUS_REASONS

#define TP_NUM_CONNECTION_STATUS_REASONS (16+1)

1 higher than the highest valid value of TpConnectionStatusReason.


TP_NUM_CONNECTION_PRESENCE_TYPES

#define TP_NUM_CONNECTION_PRESENCE_TYPES (8+1)

1 higher than the highest valid value of TpConnectionPresenceType.


TP_NUM_DTMF_EVENTS

#define TP_NUM_DTMF_EVENTS (15+1)

1 higher than the highest valid value of TpDTMFEvent.


tp_dtmf_event_to_char ()

gchar
tp_dtmf_event_to_char (TpDTMFEvent event);

Return a printable ASCII character representing event , or '?' if event was not understood.

Parameters

event

a TpDTMFEvent

 

Returns

a printable ASCII character

Since 0.13.3


TP_NUM_CHANNEL_TEXT_SEND_ERRORS

#define TP_NUM_CHANNEL_TEXT_SEND_ERRORS (5+1)

1 higher than the highest valid value of TpChannelTextSendError.


TP_NUM_CHANNEL_TEXT_MESSAGE_TYPES

#define TP_NUM_CHANNEL_TEXT_MESSAGE_TYPES (4+1)

1 higher than the highest valid value of TpChannelTextMessageType.


TP_NUM_CHANNEL_CHAT_STATES

#define TP_NUM_CHANNEL_CHAT_STATES (4+1)

1 higher than the highest valid value of TpChannelChatState.


TP_NUM_CHANNEL_GROUP_CHANGE_REASONS

#define TP_NUM_CHANNEL_GROUP_CHANGE_REASONS (11+1)

1 higher than the highest valid value of TpChannelGroupChangeReason.


TP_NUM_DELIVERY_STATUSES

#define TP_NUM_DELIVERY_STATUSES (6+1)

1 higher than the highest valid value of TpDeliveryStatus.


TP_NUM_SOCKET_ACCESS_CONTROLS

#define TP_NUM_SOCKET_ACCESS_CONTROLS (2+1)

1 higher than the highest valid value of TpSocketAccessControl.


TP_NUM_SOCKET_ADDRESS_TYPES

#define TP_NUM_SOCKET_ADDRESS_TYPES (3+1)

1 higher than the highest valid value of TpSocketAddressType.


TP_NUM_LOCAL_HOLD_STATES

#define TP_NUM_LOCAL_HOLD_STATES (3+1)

1 higher than the highest valid value of TpLocalHoldState.


TP_NUM_LOCAL_HOLD_STATE_REASONS

#define TP_NUM_LOCAL_HOLD_STATE_REASONS (2+1)

1 higher than the highest valid value of TpLocalHoldStateReason.


TP_NUM_ACCESS_CONTROL_TYPES

#define TP_NUM_ACCESS_CONTROL_TYPES (6+1)

1 higher than the highest valid value of TpAccessControlType.


TP_NUM_FILE_HASH_TYPES

#define TP_NUM_FILE_HASH_TYPES (3+1)

1 higher than the highest valid value of TpFileHashType.


TP_NUM_FILE_TRANSFER_STATES

#define TP_NUM_FILE_TRANSFER_STATES (5+1)

1 higher than the highest valid value of TpFileTransferState.


TP_NUM_FILE_TRANSFER_STATE_CHANGE_REASONS

#define TP_NUM_FILE_TRANSFER_STATE_CHANGE_REASONS (5+1)

1 higher than the highest valid value of TpFileTransferStateChangeReason.


TP_NUM_TUBE_CHANNEL_STATES

#define TP_NUM_TUBE_CHANNEL_STATES (3+1)

1 higher than the highest valid value of TpTubeChannelState.


TP_NUM_DEBUG_LEVELS

#define TP_NUM_DEBUG_LEVELS (5+1)

1 higher than the highest valid value of TpDebugLevel.


TP_NUM_SERVICE_POINT_TYPES

#define TP_NUM_SERVICE_POINT_TYPES (2+1)

1 higher than the highest valid value of TpServicePointType.


TP_NUM_TLS_CERTIFICATE_REJECT_REASONS

#define TP_NUM_TLS_CERTIFICATE_REJECT_REASONS (9+1)

1 higher than the highest valid value of TpTLSCertificateRejectReason.


TP_NUM_TLS_CERTIFICATE_STATES

#define TP_NUM_TLS_CERTIFICATE_STATES (2+1)

1 higher than the highest valid value of TpTLSCertificateState.


TP_NUM_CONTACT_METADATA_STORAGE_TYPES

#define TP_NUM_CONTACT_METADATA_STORAGE_TYPES (3+1)

1 higher than the highest valid value of TpContactMetadataStorageType.


TP_NUM_SUBSCRIPTION_STATES

#define TP_NUM_SUBSCRIPTION_STATES (4+1)

1 higher than the highest valid value of TpSubscriptionState.


TP_NUM_CONTACT_LIST_STATES

#define TP_NUM_CONTACT_LIST_STATES (3+1)

1 higher than the highest valid value of TpContactListState.


TP_NUM_HTTP_METHODS

#define TP_NUM_HTTP_METHODS (1+1)

1 higher than the highest valid value of TpHTTPMethod.


TP_NUM_SASL_ABORT_REASONS

#define TP_NUM_SASL_ABORT_REASONS (1+1)

1 higher than the highest valid value of TpSASLAbortReason.


TP_NUM_SASL_STATUSES

#define TP_NUM_SASL_STATUSES (6+1)

1 higher than the highest valid value of TpSASLStatus.


TP_NUM_CAPTCHA_STATUSES

#define TP_NUM_CAPTCHA_STATUSES (4+1)

1 higher than the highest valid value of TpCaptchaStatus.


TP_NUM_CAPTCHA_CANCEL_REASONS

#define TP_NUM_CAPTCHA_CANCEL_REASONS (2+1)

1 higher than the highest valid value of TpCaptchaCancelReason.


TP_NUM_CALL_CONTENT_DISPOSITIONS

#define TP_NUM_CALL_CONTENT_DISPOSITIONS (1+1)

1 higher than the highest valid value of TpCallContentDisposition.


TP_NUM_CALL_CONTENT_PACKETIZATION_TYPES

#define TP_NUM_CALL_CONTENT_PACKETIZATION_TYPES (2+1)

1 higher than the highest valid value of TpCallContentPacketizationType.


TP_NUM_CALL_STATES

#define TP_NUM_CALL_STATES (6+1)

1 higher than the highest valid value of TpCallState.


TP_NUM_CALL_STATE_CHANGE_REASONS

#define TP_NUM_CALL_STATE_CHANGE_REASONS (13+1)

1 higher than the highest valid value of TpCallStateChangeReason.


TP_NUM_CALL_STREAM_CANDIDATE_TYPES

#define TP_NUM_CALL_STREAM_CANDIDATE_TYPES (5+1)

1 higher than the highest valid value of TpCallStreamCandidateType.


TP_NUM_RCPT_XR_RTT_MODES

#define TP_NUM_RCPT_XR_RTT_MODES (1+1)

1 higher than the highest valid value of TpRCPTXRRTTMode.


TP_NUM_SENDING_STATES

#define TP_NUM_SENDING_STATES (3+1)

1 higher than the highest valid value of TpSendingState.


TP_NUM_STREAM_COMPONENTS

#define TP_NUM_STREAM_COMPONENTS (2+1)

1 higher than the highest valid value of TpStreamComponent.


TP_NUM_STREAM_ENDPOINT_STATES

#define TP_NUM_STREAM_ENDPOINT_STATES (4+1)

1 higher than the highest valid value of TpStreamEndpointState.


TP_NUM_STREAM_FLOW_STATES

#define TP_NUM_STREAM_FLOW_STATES (3+1)

1 higher than the highest valid value of TpStreamFlowState.


TP_NUM_STREAM_TRANSPORT_TYPES

#define TP_NUM_STREAM_TRANSPORT_TYPES (6+1)

1 higher than the highest valid value of TpStreamTransportType.


TP_NUM_MEDIA_STREAM_BASE_PROTOS

#define TP_NUM_MEDIA_STREAM_BASE_PROTOS (1+1)

1 higher than the highest valid value of TpMediaStreamBaseProto.


TP_NUM_MEDIA_STREAM_DIRECTIONS

#define TP_NUM_MEDIA_STREAM_DIRECTIONS (3+1)

1 higher than the highest valid value of TpMediaStreamDirection.


TP_NUM_MEDIA_STREAM_TYPES

#define TP_NUM_MEDIA_STREAM_TYPES (1+1)

1 higher than the highest valid value of TpMediaStreamType.

Types and Values

enum TpEntityType

Enumeration describing the type of entity with which a channel communicates. For instance, a text chat or VoIP call with a person or automated system has entity type Contact, a text chatroom or a VoIP call to a conferencing system ideally has entity type Room, and a channel listing chatrooms available on a server has entity type None.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_ENTITY_TYPE_NONE

The absence of a entity, Contact, Room, etc. For instance, ContactSearch1, RoomList1, ServerAuthentication1 and ServerTLSConnection1 channels do not communicate with a specific entity, so they have this channel type. This entity type is also used for chatrooms that cannot be addressed by name (so users cannot join by typing a name or number, only by being invited), such as multi-user "switchboards" in MSNP. Where this appears alongside a Handle and/or Identifier, the handle MUST be 0 and the identifier MUST be the empty string.

 

TP_ENTITY_TYPE_CONTACT

A contact, i.e. a person or automated system. The corresponding identifier is a normalized form of the contact's unique machine-readable identifier in this particular protocol (such as an XMPP JID, SIP URI, AIM screen-name, ICQ number or IRC nickname). For instance, any parts of the identifier that are defined to be case-insensitive by the protocol SHOULD be normalized to lower-case. In protocols where conferencing systems cannot reliably be distinguished from individuals, conferencing systems MAY also appear with Contact. For instance, calls to/from SIP teleconferencing "rooms" typically appear as a simple SIP URI

 

TP_ENTITY_TYPE_ROOM

A chatroom or teleconferencing system that can be addressed by name. The corresponding identifier is a normalized form of the room's unique machine-readable identifier in this particular protocol, such as the JID "jdev@conference.jabber.org" on XMPP, or the channel name "#telepathy" on IRC.

 

TP_ENTITY_TYPE_SELF

Not used within Telepathy itself, but reserved for use by telepathy-logger. telepathy-logger uses this type to represents the owner of the account whose channel has been logged to. We don't need this concept in Telepathy itself but it's convenient to use the same enum across the whole API.

 

enum TpConnMgrParamFlags

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONN_MGR_PARAM_FLAG_REQUIRED

This parameter is required for connecting to the server.

 

TP_CONN_MGR_PARAM_FLAG_REGISTER

This parameter is required for registering an account on the server.

 

TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT

This parameter has a default value; not providing this parameter is equivalent to providing the default.

 

TP_CONN_MGR_PARAM_FLAG_SECRET

This parameter should be considered private or secret; for instance, clients should store it in a "password safe" like gnome-keyring or kwallet, omit it from debug logs, and use a text input widget that hides the value of the parameter. (Clients that support older connection managers may also treat any parameter whose name contains "password" as though it had this flag.)

 

TP_CONN_MGR_PARAM_FLAG_DBUS_PROPERTY

This parameter is also a D-Bus property on the resulting Connection; a parameter named com.example.Duck.Macaroni with this flag corresponds to the Macaroni property on the com.example.Duck interface. Its value can be queried and possibly changed on an existing Connection using methods on the org.freedesktop.DBus.Properties interface. When a new value for a parameter with this flag is passed to Account.UpdateParameters, the account manager will attempt to update its value on any running connections. Similarly, if the parameter also has the Has_Default flag, and is passed in the second argument to UpdateParameters, the default value will be applied to any running connections. Thus, clients generally do not need to directly access or update the connection property; instead, they SHOULD manipulate Account.Parameters. This allows runtime-configurable options to be stored and maintained by the AccountManager, without needing to invent a separate account preference for “properties that should be set on the connection as soon as it is created”. It was originally invented to manage Cellular1 preferences.

 

enum TpConnectionStatus

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONNECTION_STATUS_CONNECTED

The connection is fully connected and all methods are available.

 

TP_CONNECTION_STATUS_CONNECTING

Connect has been called but the connection has not yet been established. Some methods may fail until the connection has been established.

 

TP_CONNECTION_STATUS_DISCONNECTED

If this is retrieved from Status, it indicates that connection has not yet been attempted. If seen in a StatusChanged signal, it indicates that the connection has failed; the Connection object SHOULD be removed from D-Bus immediately, and all subsequent method calls SHOULD fail.

 

enum TpConnectionStatusReason

A reason why the status of the connection changed. Apart from Requested, the values of this enumeration only make sense as reasons why the status changed to Disconnected.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED

There is no reason set for this state change. Unknown status reasons SHOULD be treated like this reason. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Disconnected.

 

TP_CONNECTION_STATUS_REASON_REQUESTED

The change is in response to a user request. Changes to the Connecting or Connected status SHOULD always indicate this reason; changes to the Disconnected status SHOULD indicate this reason if and only if the disconnection was requested by the user. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cancelled.

 

TP_CONNECTION_STATUS_REASON_NETWORK_ERROR

There was an error sending or receiving on the network socket. When the status changes from Connecting to Disconnected for this reason, the equivalent D-Bus error is either im.telepathy.v1.Error.NetworkError, im.telepathy.v1.Error.ConnectionRefused, im.telepathy.v1.Error.ConnectionFailed or some more specific error. When the status changes from Connected to Disconnected for this reason, the equivalent D-Bus error is either im.telepathy.v1.Error.NetworkError, im.telepathy.v1.Error.ConnectionLost or some more specific error.

 

TP_CONNECTION_STATUS_REASON_AUTHENTICATION_FAILED

The username or password was invalid. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.AuthenticationFailed.

 

TP_CONNECTION_STATUS_REASON_ENCRYPTION_ERROR

There was an error negotiating SSL on this connection, or encryption was unavailable and require-encryption was set when the connection was created. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.EncryptionNotAvailable if encryption was not available at all, or im.telepathy.v1.Error.EncryptionError if encryption failed.

 

TP_CONNECTION_STATUS_REASON_NAME_IN_USE

In general, this reason indicates that the requested account name or other identification could not be used due to conflict with another connection. It can be divided into three cases: If the status change is from Connecting to Disconnected and the 'register' parameter to RequestConnection was present and true, the requested account could not be created on the server because it already exists. The equivalent D-Bus error is im.telepathy.v1.Error.RegistrationExists. If the status change is from Connecting to Disconnected but the 'register' parameter is absent or false, the connection manager could not connect to the specified account because a connection to that account already exists. The equivalent D-Bus error is im.telepathy.v1.Error.AlreadyConnected. In some protocols, like XMPP (when connecting with the same JID and resource as an existing connection), the existing connection "wins" and the new one fails to connect. If the status change is from Connected to Disconnected, the existing connection was automatically disconnected because a new connection to the same account (perhaps from a different client or location) was established. The equivalent D-Bus error is im.telepathy.v1.Error.ConnectionReplaced. In some protocols, like MSNP (when connecting twice with the same Passport), the new connection "wins" and the existing one is automatically disconnected.

 

TP_CONNECTION_STATUS_REASON_CERT_NOT_PROVIDED

The server did not provide a SSL certificate. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.NotProvided.

 

TP_CONNECTION_STATUS_REASON_CERT_UNTRUSTED

The server's SSL certificate is signed by an untrusted certifying authority. This error SHOULD NOT be used to represent a self-signed certificate: use the more specific Cert_Self_Signed reason for that. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.Untrusted.

 

TP_CONNECTION_STATUS_REASON_CERT_EXPIRED

The server's SSL certificate has expired. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.Expired.

 

TP_CONNECTION_STATUS_REASON_CERT_NOT_ACTIVATED

The server's SSL certificate is not yet valid. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.NotActivated.

 

TP_CONNECTION_STATUS_REASON_CERT_HOSTNAME_MISMATCH

The server's SSL certificate did not match its hostname. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.HostnameMismatch.

 

TP_CONNECTION_STATUS_REASON_CERT_FINGERPRINT_MISMATCH

The server's SSL certificate does not have the expected fingerprint. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.FingerprintMismatch.

 

TP_CONNECTION_STATUS_REASON_CERT_SELF_SIGNED

The server's SSL certificate is self-signed. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.SelfSigned.

 

TP_CONNECTION_STATUS_REASON_CERT_OTHER_ERROR

There was some other error validating the server's SSL certificate. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.Invalid.

 

TP_CONNECTION_STATUS_REASON_CERT_REVOKED

The server's SSL certificate has been revoked. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.Revoked.

 

TP_CONNECTION_STATUS_REASON_CERT_INSECURE

The server's SSL certificate uses an insecure algorithm, or is cryptographically weak. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.Insecure.

 

TP_CONNECTION_STATUS_REASON_CERT_LIMIT_EXCEEDED

The length in bytes of the server certificate, or the depth of the sever certificate chain exceed the limits imposed by the crypto library. When disconnected for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Cert.LimitExceeded

 

enum TpConnectionAliasFlags

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONNECTION_ALIAS_FLAG_USER_SET

The aliases of contacts on this connection may be changed by the user of the service, not just by the contacts themselves. This is the case on Jabber, for instance. It is possible that aliases can be changed by the contacts too - which alias takes precedence is not defined by this specification, and depends on the server and/or connection manager implementation. This flag only applies to the aliases of "globally valid" contact handles. At this time, clients should not expect to be able to change the aliases corresponding to any channel-specific handles. If this becomes possible in future, a new flag will be defined.

 

enum TpConnectionPresenceType

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONNECTION_PRESENCE_TYPE_UNSET

An invalid presence type used as a null value. This value MUST NOT appear in the Statuses property.

 

TP_CONNECTION_PRESENCE_TYPE_OFFLINE

Offline

 

TP_CONNECTION_PRESENCE_TYPE_AVAILABLE

Available

 

TP_CONNECTION_PRESENCE_TYPE_AWAY

Away

 

TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY

Away for an extended time

 

TP_CONNECTION_PRESENCE_TYPE_HIDDEN

Hidden (invisible)

 

TP_CONNECTION_PRESENCE_TYPE_BUSY

Busy, Do Not Disturb.

 

TP_CONNECTION_PRESENCE_TYPE_UNKNOWN

Unknown, unable to determine presence for this contact, for example if the protocol only allows presence of subscribed contacts.

 

TP_CONNECTION_PRESENCE_TYPE_ERROR

Error, an error occurred while trying to determine presence. The message, if set, is an error from the server.

 

enum TpDTMFEvent

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_DTMF_EVENT_DIGIT_0

0

 

TP_DTMF_EVENT_DIGIT_1

1

 

TP_DTMF_EVENT_DIGIT_2

2

 

TP_DTMF_EVENT_DIGIT_3

3

 

TP_DTMF_EVENT_DIGIT_4

4

 

TP_DTMF_EVENT_DIGIT_5

5

 

TP_DTMF_EVENT_DIGIT_6

6

 

TP_DTMF_EVENT_DIGIT_7

7

 

TP_DTMF_EVENT_DIGIT_8

8

 

TP_DTMF_EVENT_DIGIT_9

9

 

TP_DTMF_EVENT_ASTERISK

*

 

TP_DTMF_EVENT_HASH

#

 

TP_DTMF_EVENT_LETTER_A

A

 

TP_DTMF_EVENT_LETTER_B

B

 

TP_DTMF_EVENT_LETTER_C

C

 

TP_DTMF_EVENT_LETTER_D

D

 

enum TpChannelTextSendError

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CHANNEL_TEXT_SEND_ERROR_UNKNOWN

An unknown error occurred

 

TP_CHANNEL_TEXT_SEND_ERROR_OFFLINE

The requested contact was offline

 

TP_CHANNEL_TEXT_SEND_ERROR_INVALID_CONTACT

The requested contact is not valid

 

TP_CHANNEL_TEXT_SEND_ERROR_PERMISSION_DENIED

The user does not have permission to speak on this channel

 

TP_CHANNEL_TEXT_SEND_ERROR_TOO_LONG

The outgoing message was too long and was rejected by the server

 

TP_CHANNEL_TEXT_SEND_ERROR_NOT_IMPLEMENTED

The channel doesn't support sending text messages to the requested contact

 

enum TpChannelTextMessageType

The type of message.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CHANNEL_TEXT_MESSAGE_TYPE_NORMAL

An ordinary chat message. Unknown types SHOULD be treated like this.

 

TP_CHANNEL_TEXT_MESSAGE_TYPE_ACTION

An action which might be presented to the user as "* <sender> <action>", such as an IRC CTCP ACTION (typically selected by the "/me" command). For example, the text of the message might be "drinks more coffee".

 

TP_CHANNEL_TEXT_MESSAGE_TYPE_NOTICE

A one-off or automated message not necessarily expecting a reply

 

TP_CHANNEL_TEXT_MESSAGE_TYPE_AUTO_REPLY

An automatically-generated reply message.

 

TP_CHANNEL_TEXT_MESSAGE_TYPE_DELIVERY_REPORT

A delivery report. See Message_Part for the format that delivery reports must take.

 

enum TpChannelChatState

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CHANNEL_CHAT_STATE_GONE

The contact has effectively ceased participating in the chat.

 

TP_CHANNEL_CHAT_STATE_INACTIVE

The contact has not been active for some time.

 

TP_CHANNEL_CHAT_STATE_ACTIVE

The contact is actively participating in the chat.

 

TP_CHANNEL_CHAT_STATE_PAUSED

The contact has paused composing a message.

 

TP_CHANNEL_CHAT_STATE_COMPOSING

The contact is composing a message to be sent to the chat.

 

enum TpChannelGroupFlags

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CHANNEL_GROUP_FLAG_CAN_ADD

The AddMembers method can be used to add or invite members who are not already in the local pending list (which is always valid).

 

TP_CHANNEL_GROUP_FLAG_CAN_REMOVE

The RemoveMembers method can be used to remove channel members (removing those on the pending local list is always valid).

 

TP_CHANNEL_GROUP_FLAG_CAN_RESCIND

The RemoveMembers method can be used on people on the remote pending list.

 

TP_CHANNEL_GROUP_FLAG_MESSAGE_ADD

A message may be sent to the server when calling AddMembers on contacts who are not currently pending members.

 

TP_CHANNEL_GROUP_FLAG_MESSAGE_REMOVE

A message may be sent to the server when calling RemoveMembers on contacts who are currently channel members.

 

TP_CHANNEL_GROUP_FLAG_MESSAGE_ACCEPT

A message may be sent to the server when calling AddMembers on contacts who are locally pending.

 

TP_CHANNEL_GROUP_FLAG_MESSAGE_REJECT

A message may be sent to the server when calling RemoveMembers on contacts who are locally pending.

 

TP_CHANNEL_GROUP_FLAG_MESSAGE_RESCIND

A message may be sent to the server when calling RemoveMembers on contacts who are remote pending.

 

TP_CHANNEL_GROUP_FLAG_CHANNEL_SPECIFIC_HANDLES

The members of this group have handles which are specific to this channel, and are not valid as general-purpose handles on the connection. Depending on the channel, it may be possible to check the HandleOwners property to find the owners of these handles, which should be done if you wish to (e.g.) subscribe to the contact's presence. Connection managers must ensure that any given handle is not simultaneously a general-purpose handle and a channel-specific handle.

 

TP_CHANNEL_GROUP_FLAG_ONLY_ONE_GROUP

Placing a contact in multiple groups of this type is not allowed and will raise NotAvailable (on services where contacts may only be in one user-defined group, user-defined groups will have this flag).

 

TP_CHANNEL_GROUP_FLAG_HANDLE_OWNERS_NOT_AVAILABLE

In rooms with channel specific handles (i.e. Channel_Specific_Handles flag is set), this flag indicates that no handle owners are available, apart from the owner of the SelfHandle. This used to be an important optimization to avoid repeated calls to the now-removed GetHandleOwners method, before we introduced the HandleOwners property and HandleOwnersChanged signal.

 

TP_CHANNEL_GROUP_FLAG_MESSAGE_DEPART

A message may be sent to the server when calling RemoveMembers on the SelfHandle. This would be set for XMPP Multi-User Chat or IRC channels, but not for a typical implementation of streamed media calls.

 

enum TpChannelGroupChangeReason

The reason for a set of handles to move to one of Members, LocalPendingMembers or RemotePendingMembers, or to be removed from the group. A client may supply a reason when attempting to remove members from a group with RemoveMembers, and reasons are supplied by the CM when emitting MembersChanged. Some reason codes have different meanings depending on the Actor in a MembersChanged signal.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CHANNEL_GROUP_CHANGE_REASON_NONE

No reason was provided for this change. In particular, this reason SHOULD be used when representing users joining a named chatroom in the usual way and users leaving a chatroom by their own request. If the SelfHandle is removed from a group for this reason and the actor is not the SelfHandle, the equivalent D-Bus error is im.telepathy.v1.Error.Terminated. If the SelfHandle is removed from a group for this reason and the actor is also the SelfHandle, the equivalent D-Bus error is im.telepathy.v1.Error.Cancelled.

 

TP_CHANNEL_GROUP_CHANGE_REASON_OFFLINE

The change is due to a user going offline. Also used when user is already offline, but this wasn't known previously. If a handle is removed from a group for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Offline.

 

TP_CHANNEL_GROUP_CHANGE_REASON_KICKED

The change is due to a kick operation. If the SelfHandle is removed from a group for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Channel.Kicked.

 

TP_CHANNEL_GROUP_CHANGE_REASON_BUSY

The change is due to a busy indication. If the SelfHandle is removed from a group for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Busy.

 

TP_CHANNEL_GROUP_CHANGE_REASON_INVITED

The change is due to an invitation. This reason SHOULD only be used when contacts are added to the remote-pending set (to indicate that the contact has been invited) or to the members (to indicate that the contact has accepted the invitation). Otherwise, what would it mean?

 

TP_CHANNEL_GROUP_CHANGE_REASON_BANNED

The change is due to a kick+ban operation. If the SelfHandle is removed from a group for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.Channel.Banned.

 

TP_CHANNEL_GROUP_CHANGE_REASON_ERROR

The change is due to an error occurring.

 

TP_CHANNEL_GROUP_CHANGE_REASON_INVALID_CONTACT

The change is because the requested contact does not exist. For instance, if the user invites a nonexistent contact to a chatroom, this could be indicated by the CM adding that contact's handle to remote-pending for reason None or Invited, then removing it for reason Invalid_Contact. If a contact is removed from a group for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.DoesNotExist.

 

TP_CHANNEL_GROUP_CHANGE_REASON_NO_ANSWER

The change is because the requested contact did not respond. If a contact is removed from a group for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.NoAnswer.

 

TP_CHANNEL_GROUP_CHANGE_REASON_RENAMED

The change is because a contact's unique identifier changed. There must be exactly one handle in the removed set and exactly one handle in one of the added sets. The Renamed signal on the Renaming1 interface will have been emitted for the same handles, shortly before this MembersChanged signal is emitted.

 

TP_CHANNEL_GROUP_CHANGE_REASON_PERMISSION_DENIED

The change is because there was no permission to contact the requested handle. If a contact is removed from a group for this reason, the equivalent D-Bus error is im.telepathy.v1.Error.PermissionDenied.

 

TP_CHANNEL_GROUP_CHANGE_REASON_SEPARATED

If members are removed with this reason code, the change is because the group has split into unconnected parts which can only communicate within themselves (e.g. netsplits on IRC use this reason code). If members are added with this reason code, the change is because unconnected parts of the group have rejoined. If this channel carries messages (e.g. Text channels) applications must assume that the contacts being added are likely to have missed some messages as a result of the separation, and that the contacts in the group are likely to have missed some messages from the contacts being added. Note that from the added contacts' perspective, they have been in the group all along, and the contacts we indicate to be in the group (including the local user) have just rejoined the group with reason Separated. Application protocols in Tubes should be prepared to cope with this situation. The SelfHandle SHOULD NOT be removed from channels with this reason.

 

enum TpChannelPasswordFlags

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CHANNEL_PASSWORD_FLAG_PROVIDE

The ProvidePassword method must be called now for the user to join the channel

 

TP_CHANNEL_PASSWORD_FLAG_HINT

The RoomConfig1.PasswordHint contains a hint for the password.

 

enum TpContactBlockingCapabilities

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONTACT_BLOCKING_CAPABILITY_CAN_REPORT_ABUSIVE

When calling BlockContacts, the contacts may be reporting as abusive to the server administrators by setting Report_Abusive to True.

 

enum TpDeliveryReportingSupportFlags

Flags indicating the level of support for delivery reporting on this channel, as found on the DeliveryReportingSupport property. Any future flags added to this set will conform to the convention that the presence of an extra flag implies that more operations will succeed. Note that CMs may always provide more reports than are requested in the Message_Sending_Flags passed to SendMessage. If senders want delivery reports, they should ask for them. If they don't want delivery reports, they can just ignore them, so there's no need to have capability discovery for what will happen if a delivery report isn't requested.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_DELIVERY_REPORTING_SUPPORT_FLAG_RECEIVE_FAILURES

Clients MAY expect to receive negative delivery reports if Message_Sending_Flag_Report_Delivery is specified when sending.

 

TP_DELIVERY_REPORTING_SUPPORT_FLAG_RECEIVE_SUCCESSES

Clients MAY expect to receive positive delivery reports if Message_Sending_Flag_Report_Delivery is specified when sending.

 

TP_DELIVERY_REPORTING_SUPPORT_FLAG_RECEIVE_READ

Clients MAY expect to receive Delivery_Status Read reports if Message_Sending_Flag_Report_Read is specified when sending.

 

TP_DELIVERY_REPORTING_SUPPORT_FLAG_RECEIVE_DELETED

Clients MAY expect to receive Delivery_Status Deleted reports if Message_Sending_Flag_Report_Deleted is specified when sending.

 

enum TpDeliveryStatus

The status of a message as indicated by a delivery report. If this enum is extended in future specifications, this should only be to add new, non-overlapping conditions (i.e. all failures should still be signalled as either Temporarily_Failed or Permanently_Failed). If additional detail is required (e.g. distinguishing between the various types of permanent failure) this will be done using additional Delivery_Report_Header_Keys.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_DELIVERY_STATUS_UNKNOWN

The message's disposition is unknown. Clients SHOULD consider all messages to have status Delivery_Status_Unknown unless otherwise specified; connection managers SHOULD NOT signal this delivery status explicitly.

 

TP_DELIVERY_STATUS_DELIVERED

The message has been delivered to the intended recipient.

 

TP_DELIVERY_STATUS_TEMPORARILY_FAILED

Delivery of the message has failed. Clients SHOULD notify the user, but MAY automatically try sending another copy of the message. Similar to errors with type="wait" in XMPP; analogous to 4xx errors in SMTP.

 

TP_DELIVERY_STATUS_PERMANENTLY_FAILED

Delivery of the message has failed. Clients SHOULD NOT try again unless by specific user action. If the user does not modify the message or alter configuration before re-sending, this error is likely to happen again. Similar to errors with type="cancel", type="modify" or type="auth" in XMPP; analogous to 5xx errors in SMTP.

 

TP_DELIVERY_STATUS_ACCEPTED

An intermediate server has accepted the message but the message has not been yet delivered to the ultimate recipient. The connection manager might send a Failed report or Delivered report later. Similar to "202 Accepted" success code in SIP; analogous to 251 and 252 responses in SMTP.

 

TP_DELIVERY_STATUS_READ

The message has been read by the intended recipient.

 

TP_DELIVERY_STATUS_DELETED

The message has been deleted by the intended recipient. This MAY be signalled on its own if the message is deleted without being read, or after Read if the message was read before being deleted.

 

enum TpMessagePartSupportFlags

Flags indicating the level of support for message parts on this channel. They are designed such that setting more flags always implies that the channel has more capabilities. If no flags are set, this indicates that messages may contain a single message part whose content-type is any of the types from SupportedContentTypes, possibly with some alternatives. There is no flag indicating support for alternatives. This is because the SendMessage implementation can always accept messages containing alternatives, even if the underlying protocol does not, by deleting all alternatives except the first (most preferred) that is supported. Each of the flags so far implies the previous flag, so we could have used a simple enumeration here; however, we've defined the message-part support indicator as a flag set for future expansion. See SupportedContentTypes for some examples.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_MESSAGE_PART_SUPPORT_FLAG_ONE_ATTACHMENT

SendMessage will accept messages containing a textual message body, plus a single attachment of any type listed in the SupportedContentTypes property. It does not make sense for this flag to be set if Message_Part_Support_Flag_Data_Only is not also set (because the connection manager can trivially provide an empty text part if necessary).

 

TP_MESSAGE_PART_SUPPORT_FLAG_MULTIPLE_ATTACHMENTS

SendMessage will accept messages containing a textual message body, plus an arbitrary number of attachments of any type listed in the SupportedContentTypes property. It does not make sense for this flag to be set if Message_Part_Support_Flag_One_Attachment is not also set.

 

enum TpMessageSendingFlags

Flags altering the way a message is sent. The "most usual" action should always be to have these flags unset. Some indication of which flags are supported is provided by the DeliveryReportingSupport property.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_MESSAGE_SENDING_FLAG_REPORT_DELIVERY

Provide a successful delivery report if possible, even if this is not the default for this protocol. Ignored if delivery reports are not possible on this protocol. In some protocols, like XMPP, it is not conventional to request or send positive delivery notifications. Delivery failure reports SHOULD always be sent, but if this flag is present, the connection manager MAY also try harder to obtain failed delivery reports or allow them to be matched to outgoing messages.

 

TP_MESSAGE_SENDING_FLAG_REPORT_READ

Provide a delivery report when the message is read by the recipient, even if this is not the default for this protocol. Ignored if read reports are not possible on this protocol.

 

TP_MESSAGE_SENDING_FLAG_REPORT_DELETED

Provide a delivery report when the message is deleted by the recipient, even if this is not the default for this protocol. Ignored if such reports are not possible on this protocol.

 

enum TpSocketAccessControl

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_SOCKET_ACCESS_CONTROL_LOCALHOST

The IP or Unix socket can be accessed by any local user (e.g. a Unix socket that accepts all local connections, or an IP socket listening on 127.0.0.1 (or ::1) or rejecting connections not from that address). The associated variant must be ignored. For a D-Bus tube, this means that the "same user" access control typically provided by default in D-Bus implementations SHOULD be disabled. If the socket is only available to local users (e.g. a Unix socket, an IPv4 socket bound to 127.0.0.1, or an IPv6 socket bound to ::1), the ANONYMOUS authentication mechanism MAY be enabled.

 

TP_SOCKET_ACCESS_CONTROL_PORT

May only be used on IP sockets, and only for Stream tubes. The associated variant must contain a struct Socket_Address_IPv4 (or Socket_Address_IPv6) containing the string form of an IP address of the appropriate version, and a port number. The socket can only be accessed if the connecting process has that address and port number; all other connections will be rejected.

 

TP_SOCKET_ACCESS_CONTROL_CREDENTIALS

The high-level meaning of this access control type is that only the same user (e.g. same numeric Unix uid) is allowed to interact with the tube. Exactly how this is achieved varies by channel type. For StreamTube1 channels, this access control type may only be used on UNIX sockets. The connecting process must send a byte when it first connects, which is not considered to be part of the data stream. If the operating system uses <link linkend="sendmsg"><function>sendmsg()</function></link> with SCM_CREDS or SCM_CREDENTIALS to pass credentials over sockets, the connecting process must do so if possible; if not, it must still send the byte, without any attached credentials. (This mechanism is very similar to the first byte of a D-Bus connection, except that in D-Bus the byte is always zero, whereas in Tubes it can be nonzero.) For DBusTube1 channels, this access control type may be used on any type of socket, and there is no extra byte added by Telepathy at the beginning of the stream: all bytes in the stream are part of the D-Bus tube connection. The connecting process should prove its identity via any of the SASL authentication mechanisms usually used for D-Bus (in typical D-Bus implementations this involves either sending and receiving credentials as above, or demonstrating the ability to write to a file in the user's home directory). In either case, the listening process will disconnect the connection unless it can determine by OS-specific means that the connecting process has the same user ID as the listening process. In either tube type, the associated variant must be ignored.

 

enum TpSocketAddressType

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_SOCKET_ADDRESS_TYPE_UNIX

A Unix socket. The address variant contains a byte-array, signature 'ay', containing the path of the socket.

 

TP_SOCKET_ADDRESS_TYPE_ABSTRACT_UNIX

An abstract Unix socket. The address variant contains a byte-array, signature 'ay', containing the path of the socket including the leading null byte.

 

TP_SOCKET_ADDRESS_TYPE_IPV4

An IPv4 socket. The address variant contains a Socket_Address_IPv4, i.e. a structure with signature (sq) in which the string is an IPv4 dotted-quad address literal (and must not be a DNS name), while the 16-bit unsigned integer is the port number.

 

TP_SOCKET_ADDRESS_TYPE_IPV6

An IPv6 socket. The address variant contains a Socket_Address_IPv6, i.e. a structure with signature (sq) in which the string is an IPv6 address literal as specified in RFC2373 (and must not be a DNS name), while the 16-bit unsigned integer is the port number.

 

enum TpLocalHoldState

The hold state of a channel.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_LOCAL_HOLD_STATE_UNHELD

All streams are unheld (the call is active). New channels SHOULD have this hold state.

 

TP_LOCAL_HOLD_STATE_HELD

All streams are held (the call is on hold)

 

TP_LOCAL_HOLD_STATE_PENDING_HOLD

The connection manager is attempting to move to state Held, but has not yet completed that operation. It is unspecified whether any, all or none of the streams making up the channel are on hold. Examining the Hold state of Call Contents (if applicable) may provide more useful information.

 

TP_LOCAL_HOLD_STATE_PENDING_UNHOLD

The connection manager is attempting to move to state Unheld, but has not yet completed that operation. It is unspecified whether any, all or none of the streams making up the channel are on hold. Examining the Hold state of Call Contents (if applicable) may provide more useful information.

 

enum TpLocalHoldStateReason

The reason for a change to the Local_Hold_State. Clients MUST treat unknown values as equivalent to Local_Hold_State_Reason_None.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_LOCAL_HOLD_STATE_REASON_NONE

The reason cannot be described by any of the predefined values (connection managers SHOULD avoid this reason, but clients MUST handle it gracefully)

 

TP_LOCAL_HOLD_STATE_REASON_REQUESTED

The change is in response to a user request

 

TP_LOCAL_HOLD_STATE_REASON_RESOURCE_NOT_AVAILABLE

The change is because some resource was not available

 

enum TpAccessControlType

A type for communication access control. These control policies are used in CommunicationPolicy1 and in rich presence interfaces such as Location1.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_ACCESS_CONTROL_TYPE_WHITELIST

Only allow contacts that are in a certain whitelist. The associated variant in Access_Control is a list of Contact_Handle representing the whitelist, with signature au.

 

TP_ACCESS_CONTROL_TYPE_PUBLISH_LIST

Allow contacts whose publish state is Yes, i.e. those who can normally see the local user's presence. The associated variant in Access_Control is ignored.

 

TP_ACCESS_CONTROL_TYPE_GROUP

Only allow contacts that are in a certain user-defined group, as configured by the ContactGroups1 interface. The associated variant in Access_Control is a string (D-Bus type 's'), the name of a contact group.

 

TP_ACCESS_CONTROL_TYPE_OPEN

Allow all contacts. The associated variant in Access_Control is ignored.

 

TP_ACCESS_CONTROL_TYPE_SUBSCRIBE_OR_PUBLISH_LIST

Allow contacts whose subscribe and/or publish state is Yes, i.e. those whose presence can normally be seen by the local user, and those who can normally see the local user's presence. The associated variant in Access_Control is ignored.

 

TP_ACCESS_CONTROL_TYPE_CLOSED

Forbid all contacts. The associated variant in Access_Control is ignored.

 

TP_ACCESS_CONTROL_TYPE_NOT_UNDERSTOOD

The access control rule is too complex to be represented in the current Telepathy API. The associated variant is meaningless. Setting this mode is never valid; the connection manager MUST raise an error if this is attempted. XEP-0016 Privacy Lists can easily produce access control mechanisms that can't be expressed in a simpler API. We need to be able to at least indicate that fact. The associated variant in Access_Control is ignored.

 

enum TpFileHashType

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_FILE_HASH_TYPE_NONE

No hash.

 

TP_FILE_HASH_TYPE_MD5

MD5 digest as a string of 32 ASCII hex digits.

 

TP_FILE_HASH_TYPE_SHA1

SHA1 digest as a string of ASCII hex digits.

 

TP_FILE_HASH_TYPE_SHA256

SHA256 digest as a string of ASCII hex digits.

 

enum TpFileTransferState

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_FILE_TRANSFER_STATE_NONE

An invalid state type used as a null value. This value MUST NOT appear in the State property.

 

TP_FILE_TRANSFER_STATE_PENDING

The file transfer is waiting to be accepted/closed by the receiver. The receiver has to call AcceptFile, then wait for the state to change to Open and check the offset value.

 

TP_FILE_TRANSFER_STATE_ACCEPTED

The receiver has accepted the transfer. The sender now has to call ProvideFile to actually start the transfer. The receiver should now wait for the state to change to Open and check the offset value.

 

TP_FILE_TRANSFER_STATE_OPEN

The file transfer is open for traffic.

 

TP_FILE_TRANSFER_STATE_COMPLETED

The file transfer has been completed successfully.

 

TP_FILE_TRANSFER_STATE_CANCELLED

The file transfer has been cancelled.

 

enum TpFileTransferStateChangeReason

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_FILE_TRANSFER_STATE_CHANGE_REASON_NONE

No reason was specified.

 

TP_FILE_TRANSFER_STATE_CHANGE_REASON_REQUESTED

The change in state was requested.

 

TP_FILE_TRANSFER_STATE_CHANGE_REASON_LOCAL_STOPPED

The file transfer was cancelled by the local user.

 

TP_FILE_TRANSFER_STATE_CHANGE_REASON_REMOTE_STOPPED

The file transfer was cancelled by the remote user.

 

TP_FILE_TRANSFER_STATE_CHANGE_REASON_LOCAL_ERROR

The file transfer was cancelled because of a local error.

 

TP_FILE_TRANSFER_STATE_CHANGE_REASON_REMOTE_ERROR

The file transfer was cancelled because of a remote error.

 

enum TpTubeChannelState

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_TUBE_CHANNEL_STATE_LOCAL_PENDING

The initiator offered the tube. The tube is waiting to be accepted/closed locally. If the client accepts the tube, the tube's state will be Open.

 

TP_TUBE_CHANNEL_STATE_REMOTE_PENDING

The tube is waiting to be accepted/closed remotely. If the recipient accepts the tube, the tube's state will be Open.

 

TP_TUBE_CHANNEL_STATE_OPEN

The initiator offered the tube and the recipient accepted it. The tube is open for traffic. The tube's state stays in this state until it is closed.

 

TP_TUBE_CHANNEL_STATE_NOT_OFFERED

The tube channel has been requested but the tube is not yet offered. The client should offer the tube to the recipient and the tube's state will be Remote_Pending. The method used to offer the tube depends on the tube type.

 

enum TpDebugLevel

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_DEBUG_LEVEL_ERROR

Log level for errors. Error messages are always fatal, resulting in the service terminating after something completely unexpected occurred.

 

TP_DEBUG_LEVEL_CRITICAL

Log level for critical messages. Critical messages are messages that the service might predict and it is up to the service itself to decide whether to terminate following a critical message.

 

TP_DEBUG_LEVEL_WARNING

Log level for warnings.

 

TP_DEBUG_LEVEL_MESSAGE

Log level for messages.

 

TP_DEBUG_LEVEL_INFO

Log level for information messages.

 

TP_DEBUG_LEVEL_DEBUG

Log level for debug messages.

 

enum TpContactInfoFlags

Flags defining the behaviour of contact information on this protocol. Some protocols provide no information on contacts without an explicit request; others always push information to the connection manager as and when it changes.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONTACT_INFO_FLAG_CAN_SET

Indicates that SetContactInfo is supported on this connection.

 

TP_CONTACT_INFO_FLAG_PUSH

Indicates that the protocol pushes all contacts' information to the connection manager without prompting. If set, ContactInfoChanged will be emitted whenever contacts' information changes.

 

enum TpContactInfoFieldFlags

Flags describing the behaviour of a vCard field.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONTACT_INFO_FIELD_FLAG_PARAMETERS_EXACT

If present, exactly the parameters indicated must be set on this field; in the case of an empty list of parameters, this implies that parameters may not be used. If absent, and the list of allowed parameters is non-empty, any (possibly empty) subset of that list may be used. If absent, and the list of allowed parameters is empty, any parameters may be used.

 

TP_CONTACT_INFO_FIELD_FLAG_OVERWRITTEN_BY_NICKNAME

Indicates that this field will be overwritten when the user's alias is changed with SetAliases or when the Account's Nickname is updated. Clients that allow the editing of the Alias and the ContactInfo in the same location should hide fields with this flag. If a client allowed the user to edit both the nickname and the ContactInfo field at the same time, the user could set them to two different values even though they map to the same property. This would result in surprising behavior where the second value would win over the first. In addition to hiding this field when editing ContactInfo together with the user's nickname, it is recommended that clients call SetContactInfo before setting the user's nickname. This ensures that if the user changes the nickname, the correct value will get set even if the stale nickname is mistakenly sent along with SetContactInfo. If used, this flag typically appears on either the 'nickname' or 'fn' field.

 

enum TpLocationFeatures

Flags describing the Location features which may be supported on any given connection.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_LOCATION_FEATURE_CAN_SET

Indicates that setting your own location with SetLocation is supported on this connection.

 

enum TpServicePointType

The various types of service points a channel might connect to.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_SERVICE_POINT_TYPE_NONE

The channel is not communicating with a service point, or it is not known whether it is communicating with a service point (e.g. an ordinary call).

 

TP_SERVICE_POINT_TYPE_EMERGENCY

The service point is a generic emergency point.

 

TP_SERVICE_POINT_TYPE_COUNSELING

The service point is some kind of counseling service (ie, mental health or child-services counseling).

 

enum TpAnonymityModeFlags

Flags for the various types of anonymity modes. These modes are solely to inform the CM of the desired anonymous settings. It is up to the CM to determine whether the anonymity modes should be handled within the CM itself, or whether the network that a CM might be talking to should be enforcing anonymity. CMs MAY support only a subset of these modes, and specific connections MAY support none at all.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_ANONYMITY_MODE_CLIENT_INFO

Obscure any information that provides user identification, user-agent identification or personal details. Examples of this information might be GSM CallerID, SIP from address, various informational email headers, etc. The CM should scrub/replace any of this information before passing messages or data onto the network. Note that a CM which has the option of obscuring the information at the CM or privacy service level would choose both (anonymity services are opaque to clients of this interface). Clients SHOULD NOT set both Client_Info and Show_Client_Info modes. If they are set, the CM MUST respect Client_Info and ignore Show_Client_Info.

 

TP_ANONYMITY_MODE_SHOW_CLIENT_INFO

Explicitly request showing of client information. In connection context, this can be used to override service default. In channel context, this overrides connection anonymity modes. In GSM, it's possible to have CLIR enabled by default, and explicitly suppress CLIR for a single phone call. Clients SHOULD NOT set both Client_Info and Show_Client_Info modes. If they are set, the CM MUST respect Client_Info and ignore Show_Client_Info. The CM MAY set both Client_Info and Show_Client_Info in SupportedAnonymityModes to indicate its support for explicitly hiding and publicising client information.

 

TP_ANONYMITY_MODE_NETWORK_INFO

Obscure any originating IP address information, contact URIs, and anonymize all traffic involved with sending/receiving any media streams or call content. Examples of this include the "headers" portions of RFC 3323 as well as the History-Info (described in RFC 4244) for a SIP CM. This SHOULD have the effect of hiding address information from the remote contact (ie, the contact cannot know what IP address the session is originated from). Obviously the network still needs to be able to route information between contacts, so this provides no guarantees of what can be seen by intermediaries.

 

enum TpStorageRestrictionFlags

Flags indicating restrictions imposed on an Account by its storage method.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PARAMETERS

The account's Parameters property can't be changed by calling UpdateParameters.

 

TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_ENABLED

The account can't be enabled/disabled by setting the Enabled property.

 

TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PRESENCE

The account's presence can't be changed by setting the RequestedPresence and AutomaticPresence properties.

 

TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_SERVICE

The account's Service property cannot be changed.

 

enum TpTLSCertificateRejectReason

Possible reasons to reject a TLS certificate.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN

The certificate has been rejected for another reason not listed in this enumeration.

 

TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED

The certificate is not trusted.

 

TP_TLS_CERTIFICATE_REJECT_REASON_EXPIRED

The certificate is expired.

 

TP_TLS_CERTIFICATE_REJECT_REASON_NOT_ACTIVATED

The certificate is not active yet.

 

TP_TLS_CERTIFICATE_REJECT_REASON_FINGERPRINT_MISMATCH

The certificate provided does not have the expected fingerprint.

 

TP_TLS_CERTIFICATE_REJECT_REASON_HOSTNAME_MISMATCH

The hostname certified does not match the provided one.

 

TP_TLS_CERTIFICATE_REJECT_REASON_SELF_SIGNED

The certificate is self-signed.

 

TP_TLS_CERTIFICATE_REJECT_REASON_REVOKED

The certificate has been revoked.

 

TP_TLS_CERTIFICATE_REJECT_REASON_INSECURE

The certificate uses an insecure cipher algorithm, or is cryptographically weak.

 

TP_TLS_CERTIFICATE_REJECT_REASON_LIMIT_EXCEEDED

The length in bytes of the certificate, or the depth of the certificate chain exceed the limits imposed by the crypto library.

 

enum TpTLSCertificateState

The possible states for a TLSCertificate object.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_TLS_CERTIFICATE_STATE_PENDING

The certificate is currently waiting to be accepted or rejected.

 

TP_TLS_CERTIFICATE_STATE_ACCEPTED

The certificate has been verified.

 

TP_TLS_CERTIFICATE_STATE_REJECTED

The certificate has been rejected.

 

enum TpContactMetadataStorageType

Values of this enumeration indicate the extent to which metadata such as aliases and group memberships can be stored for the contacts on a particular connection. On some protocols, certain metadata (for instance, contact aliases) can only be stored for contacts on the contact list, or contacts with a particular contact list state. To make it easier to deal with such protocols, if clients set metadata on a contact who is not in the required state, the Connection MUST cache the metadata for the duration of the session. If clients request the attributes of that contact after the appropriate "set" method has returned successfully, the Connection MUST return the new (cached) value. If the contact is later placed in the required state to store metadata (for instance, if subscription to the contact's presence is requested, on a protocol like MSN where the alias has storage type Subscribed_Or_Pending), the connection MUST store the cached metadata at that time. If the Connection didn't cache changes in this way, a client intending to change the alias on MSN would have to wait until the server acknowledged the subscription request; in the meantime, other clients would still display the old alias. The only exception to that general rule is that if the Connection cannot store particular metadata at all (i.e. the storage type is None), it MUST reject attempts to set it. If the implementation knows that metadata can't be stored at all, it's useful to report that, which can be done synchronously. In general, user interfaces should detect storage type None and not display editing controls at all.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONTACT_METADATA_STORAGE_TYPE_NONE

This connection cannot store this type of metadata at all, and attempting to do so will fail with NotImplemented. Link-local XMPP can't store aliases or group memberships at all, and subscription and presence states are implicit (all contacts on the local network have subscribe = publish = Yes and no other contacts exist). As of April 2010, the XMPP server for Facebook Chat provides a read-only view of the user's Facebook contacts, so it could also usefully have this storage type.

 

TP_CONTACT_METADATA_STORAGE_TYPE_SUBSCRIBED_OR_PENDING

This type of metadata can only be stored permanently for contacts whose subscribe attribute is Ask or Yes. Contact aliases and groups on MSN have this behaviour.

 

TP_CONTACT_METADATA_STORAGE_TYPE_SUBSCRIBED

This type of metadata can only be stored permanently for contacts whose subscribe attribute is Yes. No service with this behaviour is currently known, but it's a stricter form of Subscribed_Or_Pending.

 

TP_CONTACT_METADATA_STORAGE_TYPE_ANYONE

The user can set this metadata for any valid contact identifier, whether or not they have any presence subscription relationship to it, and it will be stored on their contact list. Contact aliases and groups on XMPP have this behaviour; it is possible to put a contact in a group, or assign an alias to them, without requesting that presence be shared.

 

enum TpSubscriptionState

An enumeration indicating whether presence subscription is denied, denied but pending permission, or allowed. The exact semantics vary according to where this type is used: see the subscribe and publish contact attributes for details.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_SUBSCRIPTION_STATE_UNKNOWN

The presence subscription state is unknown.

 

TP_SUBSCRIPTION_STATE_NO

Presence information cannot be seen, and either the subscription state Removed_Remotely does not apply, or it is not known whether that state applies.

 

TP_SUBSCRIPTION_STATE_REMOVED_REMOTELY

Presence information cannot be seen because the remote contact took action: either the local user's request to see the remote contact's presence was denied, or the remote contact requested to see the local user's presence but then cancelled their request.

 

TP_SUBSCRIPTION_STATE_ASK

Presence information cannot be seen. Permission to see presence information has been requested, and the request has not yet been declined or accepted.

 

TP_SUBSCRIPTION_STATE_YES

Presence information can be seen.

 

enum TpContactListState

The progress made in retrieving the contact list.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CONTACT_LIST_STATE_NONE

The connection has not started to retrieve the contact list. If GetContactListAttributes is called in this state, it will raise NotYet.

 

TP_CONTACT_LIST_STATE_WAITING

The connection has started to retrieve the contact list, but has not yet succeeded or failed. If GetContactListAttributes is called in this state, it will raise NotYet.

 

TP_CONTACT_LIST_STATE_FAILURE

The connection has tried and failed to retrieve the contact list. If GetContactListAttributes is called in this state, it will immediately raise an error indicating the reason for failure. The connection manager SHOULD try again to obtain the contact list, if appropriate for the protocol. If it succeeds later, the ContactListState MUST advance to Success.

 

TP_CONTACT_LIST_STATE_SUCCESS

The connection has successfully retrieved the contact list. If GetContactListAttributes is called in this state, it will return successfully.

 

enum TpHTTPMethod

The HTTP Method with which to request a URL.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_HTTP_METHOD_GET

Use the GET method when opening the URL.

 

TP_HTTP_METHOD_POST

Use the POST method when opening the URL. Refer to HTTP_Post_Data for more details.

 

enum TpMailNotificationFlags

Flags representing capabilities provided by a connection manager. Those values can be used as bitfield. Some flags depend on, or conflict with, each other. Connections SHOULD implement as many of these features as the underlying protocol allows, preferring to implement Supports_Unread_Mails instead of Emits_Mails_Received if both are possible.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_MAIL_NOTIFICATION_FLAG_SUPPORTS_UNREAD_MAIL_COUNT

This Connection provides the number of unread e-mails (or e-mail threads) in the main folder of your e-mail account, as the UnreadMailCount property. The connection manager will update this value by emitting the UnreadMailsChanged signal.

 

TP_MAIL_NOTIFICATION_FLAG_SUPPORTS_UNREAD_MAILS

This Connection provides a detailed list of unread e-mails, as the UnreadMails property. If this flag is set, Supports_Unread_Mail_Count MUST be set, and Emits_Mails_Received MUST NOT be set. The Connection will update the list by emitting the UnreadMailsChanged signals.

 

TP_MAIL_NOTIFICATION_FLAG_EMITS_MAILS_RECEIVED

This Connection emits the MailsReceived signal, which provides details about newly arrived e-mails but does not maintain their read/unread status afterwards. This flag MUST NOT be combined with Supports_Unread_Mails.

 

TP_MAIL_NOTIFICATION_FLAG_SUPPORTS_REQUEST_INBOX_URL

This Connection can provide a URL (with optional POST data) to open the the inbox of the e-mail account in a web-based client, via the RequestInboxURL method.

 

TP_MAIL_NOTIFICATION_FLAG_SUPPORTS_REQUEST_MAIL_URL

This Connection can provide a URL (with optional POST data) to open a specific mail in a web-based client, via the RequestMailURL method. This feature is not useful unless either Emits_Mails_Received or Supports_Unread_Mails is set. If this flag is not set, clients SHOULD fall back to using RequestInboxURL if available.

 

TP_MAIL_NOTIFICATION_FLAG_THREAD_BASED

Each Mail represents a thread of e-mails, which MAY have more than one sender. Google Talk notifies users about new mail in terms of unread threads, rather than unread e-mails.

 

enum TpSASLAbortReason

A reason why SASL authentication was aborted by the client.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_SASL_ABORT_REASON_INVALID_CHALLENGE

The server sent an invalid challenge or data.

 

TP_SASL_ABORT_REASON_USER_ABORT

The user aborted the authentication.

 

enum TpSASLStatus

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_SASL_STATUS_NOT_STARTED

The initial state. The Handler SHOULD either call AbortSASL, or connect to the NewChallenge signal then call StartMechanism or StartMechanismWithData.

 

TP_SASL_STATUS_IN_PROGRESS

The challenge/response exchange is in progress. The Handler SHOULD call either Respond or AcceptSASL exactly once per emission of NewChallenge, or call AbortSASL at any time.

 

TP_SASL_STATUS_SERVER_SUCCEEDED

The server has indicated successful authentication, and the connection manager is waiting for confirmation from the Handler. The Handler must call either AcceptSASL or AbortSASL to indicate whether it considers authentication to have been successful.

 

TP_SASL_STATUS_CLIENT_ACCEPTED

The Handler has indicated successful authentication, and the connection manager is waiting for confirmation from the server. The state will progress to either Succeeded or Server_Failed when confirmation is received.

 

TP_SASL_STATUS_SUCCEEDED

Everyone is happy (the server sent success, and the client has called AcceptSASL). Connection to the server will proceed as soon as this state is reached. The Handler SHOULD call Close to close the channel.

 

TP_SASL_STATUS_SERVER_FAILED

The server has indicated an authentication failure. If CanTryAgain is true, the client may try to authenticate again, by calling StartMechanism or StartMechanismWithData again. Otherwise, it should give up completely, by calling Close on the channel.

 

TP_SASL_STATUS_CLIENT_FAILED

The client has indicated an authentication failure. The possible actions are the same as for Server_Failed.

 

enum TpCaptchaStatus

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CAPTCHA_STATUS_LOCAL_PENDING

The challenge/response exchange is in progress and waiting for a local action. Call AnswerCaptchas to go to the Remote_Pending state, or call CancelCaptcha followed by Close to give up.

 

TP_CAPTCHA_STATUS_REMOTE_PENDING

The challenge/response exchange is in progress and waiting for a response from the server. Wait for a reply from the server, which will result in the Succeeded, Try_Again, or Failed state, or call CancelCaptcha followed by Close to give up.

 

TP_CAPTCHA_STATUS_SUCCEEDED

Everyone is happy. Connection to the server will proceed as soon as this state is reached. There is nothing useful to do in this state except to call Close to close the channel.

 

TP_CAPTCHA_STATUS_TRY_AGAIN

The server has indicated an authentication failure. Call GetCaptchas again to get a new captcha, or CancelCaptcha followed by Close to give up.

 

TP_CAPTCHA_STATUS_FAILED

Authentication has failed in some way. There is nothing useful to do in this state except to close the channel with Close.

 

enum TpCaptchaCancelReason

A reason why captcha authentication was aborted by the client.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CAPTCHA_CANCEL_REASON_USER_CANCELLED

The user aborted the authentication. If this is used, the CaptchaError SHOULD be set to Cancelled

 

TP_CAPTCHA_CANCEL_REASON_NOT_SUPPORTED

The Handler doesn't support the given/required captcha types. If this is used, the CaptchaError SHOULD be set to CaptchaNotSupported. This SHOULD also be used if Close is called before CancelCaptcha. If no Handler supports captcha channels, the ChannelDispatcher will just call Close, because it has no knowledge of specific channel types.

 

TP_CAPTCHA_CANCEL_REASON_SERVICE_CONFUSED

The Handler doesn't understand the captcha data received. The challenger may be sending gibberish. If this is used, the CaptchaError SHOULD be set to ServiceConfused.

 

enum TpCaptchaFlags

Extra flags to include with Captcha information

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CAPTCHA_FLAGS_REQUIRED

This captcha mechanism is required to be successfully answered in order to pass this captcha challenge.

 

enum TpCallContentDisposition

The disposition of this content, which defines whether to automatically start sending data on the streams when Accept is called on the channel.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CALL_CONTENT_DISPOSITION_NONE

The content has no specific disposition.

 

TP_CALL_CONTENT_DISPOSITION_INITIAL

The content was initially part of the call. When Accept is called on the channel, all streams of this content with LocalSendingState set to Pending_Send will be moved to Sending as if SetSending (True) had been called.

 

enum TpCallContentPacketizationType

A packetization method that can be used for a content.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CALL_CONTENT_PACKETIZATION_TYPE_RTP

Real-time Transport Protocol, as documented by RFC 3550.

 

TP_CALL_CONTENT_PACKETIZATION_TYPE_RAW

Raw media.

 

TP_CALL_CONTENT_PACKETIZATION_TYPE_MSN_WEBCAM

MSN webcam. This is the video-only one-way type which was used in earlier versions of WLM. Although no longer used, modern WLM clients still support the MSN webcam protocol.

 

enum TpCallState

The state of a call, as a whole. The allowed transitions are: Pending_Initiator → Initialising (for outgoing calls, when Accept is called) Initialising → Initialised (for outgoing calls, when the remote client indicates that the user has been notified about the call. If the network is known not to provide feedback about whether the remote side is ringing, then the call should immediately be set to Initialised. Initialising → Initialised (for incoming calls, when e.g. the implementation has been initialised far enough that it is sensible to notify the user about the call (to reduce the probability that the user will pick up the call and have it immediately fail). The UI should then alert the user about the call, and call SetRinging) Initialised → Accepted (for outgoing calls to a contact, when the remote contact accepts the call; for incoming calls, when Accept is called.) Accepted → Active (when the local user successfully joins the call/conference, and media is known to be flowing successfully; also, when temporary connection problems are resolved (See below)). If the network is known not to provide feedback about when the call is properly connected, the call should immediately be set to Active. Active → Accepted (when there are temporary connection problems that the CM is aware of and able to recover from) any state → Ended (when the call is terminated normally, or when an error occurs that the CM is unable to recover from) Clients MAY consider unknown values from this enum to be an error - additional values will not be defined after the Call specification is declared to be stable.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CALL_STATE_UNKNOWN

The call state is not known. This call state MUST NOT appear as a value of the CallState property, but MAY be used by client code to represent calls whose state is as yet unknown.

 

TP_CALL_STATE_PENDING_INITIATOR

The initiator of the call hasn't accepted the call yet. This state only makes sense for outgoing calls, where it means that the local user has not yet sent any signalling messages to the remote user(s), and will not do so until Accept is called.

 

TP_CALL_STATE_INITIALISING

Progress has been made in placing the call, but the contact has not been made aware of the call yet. This corresponds to SIP's status code 183 Session Progress, and should be used for the period where the CM is waiting for the streaming implementation to initialise (before sending the initial INVITE or equivalent) and when the outgoing call has reached a gateway or ICE negotiation is pending. UIs should not produce a dialtone or start ringing if the call is in this state.

 

TP_CALL_STATE_INITIALISED

In the outgoing case: at least one called user has been alerted about the call (a SIP 180 (Ringing) packet or equivalent has been received) but none have answered, so the call cannot go to Accepted (use Ringing to determine which members have been informed and which haven't, if you care). UIs SHOULD produce a dialtone for outgoing calls in this state. In the incoming case, the local user should be informed of the call as soon as the call reaches this state (and SetRinging should be called to inform the CM that this has happened, so that it can relay this fact to the caller using a SIP 180 (Ringing) packet or equivalent).

 

TP_CALL_STATE_ACCEPTED

The contact being called has accepted the call, but the call is not in the Active state (The most common reason for this is that the streaming implementation hasn't connected yet).

 

TP_CALL_STATE_ACTIVE

The contact being called has accepted the call, and discourse between at least two parties should now be possible.

 

TP_CALL_STATE_ENDED

The call has ended, either via normal termination or an error.

 

enum TpCallStateChangeReason

A simple representation of the reason for a change in the call's state, which may be used by simple clients, or used as a fallback when the DBus_Reason member of a Call_State_Reason struct is not understood.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CALL_STATE_CHANGE_REASON_UNKNOWN

We just don't know. Unknown values of this enum SHOULD also be treated like this.

 

TP_CALL_STATE_CHANGE_REASON_PROGRESS_MADE

Situation normal. Progress has been made in the setup/teardown of the call (and it didn't require any user interaction).

 

TP_CALL_STATE_CHANGE_REASON_USER_REQUESTED

The change was requested by the contact indicated by the Actor member of a Call_State_Reason struct. The DBus_Reason SHOULD be the empty string if the call was terminated normally, but MAY be a non-empty error name to indicate error-like call termination reasons (kicked from a conference by a moderator, etc.).

 

TP_CALL_STATE_CHANGE_REASON_FORWARDED

The call was forwarded. If known, the handle of the contact the call was forwarded to will be indicated by the "forwarded-to" member of a CallStateDetails dictionnary in the CallStateChanged signal.

 

TP_CALL_STATE_CHANGE_REASON_REJECTED

The CallState changed from Initialised or Ended (or a content's direction changed) because it was rejected by the remote user. Corresponds to Rejected

 

TP_CALL_STATE_CHANGE_REASON_NO_ANSWER

The CallState changed from Initialised or Ended because the initiator ended the call before the receiver accepted it. With an incoming call this state change reason signifies a missed call, or one that was picked up elsewhere before it was picked up here. Corresponds to NoAnswer or PickedUpElsewhere

 

TP_CALL_STATE_CHANGE_REASON_INVALID_CONTACT

The CallState changed because one of the addresses does not exist on the network. Corresponds to DoesNotExist

 

TP_CALL_STATE_CHANGE_REASON_PERMISSION_DENIED

The CallState changed because the local user is not authorised. Corresponds to PermissionDenied or InsufficientBalance

 

TP_CALL_STATE_CHANGE_REASON_BUSY

The CallState changed from Initialised Ended because the receiver is busy (e.g. is already engaged in another call, and has not placed the initiator in a call-waiting queue). Corresponds to Busy

 

TP_CALL_STATE_CHANGE_REASON_INTERNAL_ERROR

There has been an unexpected error in either the CM or some other local component. Corresponds to Confused or Media.StreamingError

 

TP_CALL_STATE_CHANGE_REASON_SERVICE_ERROR

There has been an unexpected error in the server or some other remote component. Corresponds to ServiceConfused

 

TP_CALL_STATE_CHANGE_REASON_NETWORK_ERROR

There has been a network error related to the CM or the signalling part of the call (compare and contrast: Streaming_Error). Corresponds to NetworkError

 

TP_CALL_STATE_CHANGE_REASON_MEDIA_ERROR

Some aspect of the content is unsupported so has to be removed from the call. Corresponds to Media.UnsupportedType or Media.CodecsIncompatible

 

TP_CALL_STATE_CHANGE_REASON_CONNECTIVITY_ERROR

It was not possible for the streaming implementation to connect to any of the users participating in this call or content. Corresponds to ConnectionFailed or ConnectionLost

 

enum TpCallStreamCandidateType

The network topology that an IP candidate represents. This can sometimes be used to infer what kind of performance characteristics (latency, bandwith, etc) can be expected of connections made to this candidate.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CALL_STREAM_CANDIDATE_TYPE_NONE

This is not an IP candidate. This is a reserved value, and should not be seen on the bus.

 

TP_CALL_STREAM_CANDIDATE_TYPE_HOST

This candidate represents a direct connection to the host, as its address is taken directly the host's IP stack.

 

TP_CALL_STREAM_CANDIDATE_TYPE_SERVER_REFLEXIVE

This candidate probably represents a connection to the host through a NAT device, as its address was discovered by sending a binding request to a STUN server or similar.

 

TP_CALL_STREAM_CANDIDATE_TYPE_PEER_REFLEXIVE

This candidate probably represents a good route between the host and its peer, as its address was discovered by sending a STUN binding request to one of the candidates advertised by the peer.

 

TP_CALL_STREAM_CANDIDATE_TYPE_RELAY

This candidate represents the address of a relay server (usually somewhere on the public internet). This candidate is the most likely to work, but all media will go via a relay server, so latency is likely to be higher than other types of candidate.

 

TP_CALL_STREAM_CANDIDATE_TYPE_MULTICAST

This candidate represents a Multicast group. This value should only appear if the Stream's Transport is set to Multicast.

 

enum TpRCPTXRRTTMode

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_RCPT_XR_RTT_MODE_ALL

Both RTP data senders and data receivers MAY send DLRR blocks.

 

TP_RCPT_XR_RTT_MODE_SENDER

Only active RTP senders MAY send DLRR blocks, i.e., non RTP senders SHALL NOT send DLRR blocks.

 

enum TpSendingState

Enum indicating whether a contact is sending media.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_SENDING_STATE_NONE

The contact is not sending media and has not been asked to do so.

 

TP_SENDING_STATE_PENDING_SEND

The contact has been asked to start sending media.

 

TP_SENDING_STATE_SENDING

The contact is sending media.

 

TP_SENDING_STATE_PENDING_STOP_SENDING

The contact has been asked to stop sending media.

 

enum TpStreamComponent

Media streams can use more than one UDP socket: one for RTP (data) and one for RTCP (control). Most of the time, they are adjacent to each other, but some protocols (xmpp) signal each port separately.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_STREAM_COMPONENT_UNKNOWN

The stream transport type is unknown or not applicable (should not appear over dbus).

 

TP_STREAM_COMPONENT_DATA

This is the high-traffic data socket, containing the audio/video data for the stream.

 

TP_STREAM_COMPONENT_CONTROL

This is the low-traffic control socket, usually containing feedback about packet loss etc.

 

enum TpStreamEndpointState

Represents the state of ICE negotiation for a single component of a stream to an endpoint.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_STREAM_ENDPOINT_STATE_CONNECTING

Candidate gathering and connectivity checks are in progress.

 

TP_STREAM_ENDPOINT_STATE_PROVISIONALLY_CONNECTED

The streaming implementation has found at least one working candidate pair. It is possible to send media at this point, but the controlling side has yet to negotiate the final candidates for use in this call.

 

TP_STREAM_ENDPOINT_STATE_FULLY_CONNECTED

This component of the stream is connected, and an updated offer has been sent and accepted (finalising the candidates to be used for the call). This should be set by the CM in response to AcceptSelectedCandidatePair.

 

TP_STREAM_ENDPOINT_STATE_EXHAUSTED_CANDIDATES

The streaming implementation has tried connecting to all of the available candidates and none of them have connected. This is distinct from Failed, because the CM might be able to provide more candidates later (more likely in XMPP than SIP).

 

TP_STREAM_ENDPOINT_STATE_FAILED

The CM and streaming implementation are in agreement that it is impossible to connect to this endpoint. This value should only be set by the CM.

 

enum TpStreamFlowState

The type of SendingState and ReceivingState.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_STREAM_FLOW_STATE_STOPPED

No data is flowing (or expected to be flowing) at this time.

 

TP_STREAM_FLOW_STATE_PENDING_START

The streaming implementation has been told to start or receiving, but has not yet indicated that it is doing so.

 

TP_STREAM_FLOW_STATE_PENDING_STOP

The streaming implementation has been told to stop sending or receiving data, but it has not yet indicated that it has done so.

 

TP_STREAM_FLOW_STATE_STARTED

The streaming implementation is successfully sending or receiving data, and everything is going swimmingly.

 

enum TpStreamTransportType

A transport that can be used for streaming.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_STREAM_TRANSPORT_TYPE_UNKNOWN

The stream transport type is unknown or not applicable (for streams that do not have a configurable transport).

 

TP_STREAM_TRANSPORT_TYPE_RAW_UDP

Raw UDP, with or without STUN. All streaming clients are assumed to support this transport, so there is no handler capability token for it in the Call1 interface. [This corresponds to "none" or "stun" in the old Media.StreamHandler interface.]

 

TP_STREAM_TRANSPORT_TYPE_ICE

Interactive Connectivity Establishment, as defined by RFC 5245. Note that this value covers ICE-UDP only. [This corresponds to "ice-udp" in the old Media.StreamHandler interface.]

 

TP_STREAM_TRANSPORT_TYPE_GTALK_P2P

Google Talk peer-to-peer connectivity establishment, as implemented by libjingle 0.3. [This corresponds to "gtalk-p2p" in the old Media.StreamHandler interface.]

 

TP_STREAM_TRANSPORT_TYPE_WLM_2009

The transport used by Windows Live Messenger 2009 or later, which resembles ICE draft 19. [This corresponds to "wlm-2009" in the old Media.StreamHandler interface.]

 

TP_STREAM_TRANSPORT_TYPE_SHM

Shared memory transport, as implemented by the GStreamer shmsrc and shmsink plugins.

 

TP_STREAM_TRANSPORT_TYPE_MULTICAST

Multicast transport.

 

enum TpCallFlags

A set of flags representing additional information than is available in CallState. Many of these flags only make sense in a particular (or may explain why a call is in a specific state).

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CALL_FLAG_LOCALLY_HELD

The call has been put on hold by the local user, e.g. using the Hold1 interface. This flag SHOULD only be set if there is at least one Content, and all Contents are locally held. Otherwise, in transient situations where some but not all contents are on hold, UIs would falsely indicate that the call as a whole is on hold, which could lead to the user saying something they'll regret, while under the impression that the other contacts can't hear them! This flag exists as a simplified proxy for HoldStateChanged, to reduce the number of signals that need to be listened to by a simple UI.

 

TP_CALL_FLAG_LOCALLY_RINGING

This flag exists for observability of the SetRinging method (e.g. so that loggers can tell whether the call got as far as alerting the user, or whether something went wrong before then). It should be set when the SetRinging is called, and unset when the call leaves Initialised.

 

TP_CALL_FLAG_LOCALLY_QUEUED

This flag exists for observability of the SetQueued method. It should be set when the SetQueued is called, and unset when the call leaves Initialising or Initialised.

 

TP_CALL_FLAG_FORWARDED

The initiator of the call originally called a contact other than the current recipient of the call, but the call was then forwarded or diverted. This flag only makes sense on outgoing calls. It SHOULD be set or unset according to informational messages from other contacts.

 

TP_CALL_FLAG_CLEARING

This flag only occurs when the CallState is Ended. The call with this flag set has ended, but not all resources corresponding to the call have been freed yet. Depending on the protocol there might be some audible feedback while the clearing flag is set. In calls following the ITU-T Q.931 standard there is a period of time between the call ending and the underlying channel being completely free for re-use.

 

enum TpCallMemberFlags

A set of flags representing the status of a remote contact in a call. It is protocol- and client-specific whether a particular contact will ever have a particular flag set on them, and Telepathy clients SHOULD NOT assume that a flag will ever be set. 180 Ringing in SIP, and its equivalent in XMPP, are optional informational messages, and implementations are not required to send them. The same applies to the messages used to indicate hold state.

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_CALL_MEMBER_FLAG_RINGING

The remote contact's client has told us that the contact has been alerted about the call but has not responded. This is a flag per member, not a flag for the call as a whole, because in Muji conference calls, you could invite someone and have their state be "ringing" for a while.

 

TP_CALL_MEMBER_FLAG_HELD

The call member has put this call on hold. This is a flag per member, not a flag for the call as a whole, because in conference calls, any member could put the conference on hold.

 

TP_CALL_MEMBER_FLAG_CONFERENCE_HOST

This contact has merged this call into a conference. Note that GSM provides a notification when the remote party merges a call into a conference, but not when it is split out again; thus, this flag can only indicate that the call has been part of a conference at some point. If a GSM connection manager receives a notification that a call has been merged into a conference a second time, it SHOULD represent this by clearing and immediately re-setting this flag on the remote contact.

 

enum TpRTCPXRStatisticsFlags

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_RTCP_XR_STATISTICS_FLAGS_LOSS

Loss report flag, as defined in RFC3611 section 4.6.

 

TP_RTCP_XR_STATISTICS_FLAGS_DUPLICATE

Duplicate report flag, as defined in RFC3611 section 4.6.

 

TP_RTCP_XR_STATISTICS_FLAGS_JITTER

Jitter flag, as defined in RFC3611 section 4.6.

 

TP_RTCP_XR_STATISTICS_FLAGS_TTL

First bit of TTL or Hop Limit flag, as defined in RFC3611 section 4.6.

 

TP_RTCP_XR_STATISTICS_FLAGS_HL

Second bit of TTL or Hop Limit flag, as defined in RFC3611 section 4.6.

 

enum TpMediaStreamBaseProto

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_MEDIA_STREAM_BASE_PROTO_UDP

UDP (User Datagram Protocol)

 

TP_MEDIA_STREAM_BASE_PROTO_TCP

TCP (Transmission Control Protocol)

 

enum TpMediaStreamDirection

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_MEDIA_STREAM_DIRECTION_NONE

Media are not being sent or received

 

TP_MEDIA_STREAM_DIRECTION_SEND

Media are being sent, but not received

 

TP_MEDIA_STREAM_DIRECTION_RECEIVE

Media are being received, but not sent

 

TP_MEDIA_STREAM_DIRECTION_BIDIRECTIONAL

Media are being sent and received

 

enum TpMediaStreamType

Bitfield/set of flags generated from the Telepathy specification.

Members

TP_MEDIA_STREAM_TYPE_AUDIO

An audio stream

 

TP_MEDIA_STREAM_TYPE_VIDEO

A video stream