List of Packet Types ==================== .. role:: yes .. role:: no .. role:: blu .. role:: blk .. raw:: html .. |br| raw:: html
Message Types - V: Verified - **Y (green):** packet contains MD5 of message contents - **N (red):** packet does not contain MD5 - **I (blue):** packet contains MD5 but is flagged as "Domain Ignored Verification" - S: Sourced - **Y (green):** packet contains Local-ID and must come from an existing Node - **N (red):** packet does not contain a Local-ID - **D (blue):** packet contains a Local-ID but is flagged as "Domain Sourced" - C: Connection (part of analysis for new UDT logic) - **N (red):** packet is NOT sent as part of a UDT connection (requires a custom UDT packet type) - **Y (green):** packet IS sent as part of a UDT connection (especially when it's "unsourced" in the current model) - **B (blue):** packet MAY be sent as either part of a UDT connection (i.e. packet type) or outside of a connection (i.e. custom UDT packet type) - **X (black):** packet will not be used in the new UDT logic - **Name:** Name of the packet type - **Handler Registrations:** List of functions that have registered an interest in processing this packet type +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | | V | S | C | Name | Handler Registrations | +=====+==========+==========+==========+===================================+========================================================================+ | 1 | :yes:`Y` | :no:`N` | :blk:`X` | StunResponse | *(no references, delete on next protocol bump?)* | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 2 | :yes:`Y` | :no:`N` | | DomainList | NodeList::processDomainServerList | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 3 | :yes:`Y` | :yes:`Y` | :blk:`X` | Ping | NodeList::processPingPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 4 | :yes:`Y` | :yes:`Y` | :blk:`X` | PingReply | NodeList::processPingReplyPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 5 | :yes:`Y` | :yes:`Y` | | KillAvatar | AudioMixer::handleKillAvatarPacket, |br| | | | | | | | AvatarMixer::handleKillAvatarPacket, |br| | | | | | | | AvatarHashMap::processKillAvatar | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 6 | :yes:`Y` | :yes:`Y` | | AvatarData | AvatarMixer::queueIncomingPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 7 | :yes:`Y` | :yes:`Y` | | InjectAudio | AudioMixer::queueAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 8 | :yes:`Y` | :yes:`Y` | | MixedAudio | Agent::handleAudioPacket, |br| | | | | | | | AudioClient::handleAudioDataPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 9 | :yes:`Y` | :yes:`Y` | | MicrophoneAudioNoEcho | AudioMixer::queueAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 10 | :yes:`Y` | :yes:`Y` | | MicrophoneAudioWithEcho | AudioMixer::queueAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 11 | :yes:`Y` | :yes:`Y` | | BulkAvatarData | AvatarHashMap::processAvatarDataPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 12 | :yes:`Y` | :yes:`Y` | | SilentAudioFrame | Agent::handleAudioPacket, |br| | | | | | | | AudioMixer::queueAudioPacket, |br| | | | | | | | AudioClient::handleAudioDataPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 13 | :no:`N` | :yes:`Y` | | DomainListRequest | DomainServer::processListRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 14 | :yes:`Y` | :no:`N` | | RequestAssignment | DomainServer::processRequestAssignmentPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 15 | :yes:`Y` | :no:`N` | | CreateAssignment | AssignmentClient::handleCreateAssignmentPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 16 | :yes:`Y` | :no:`N` | | DomainConnectionDenied | DomainHandler::processDomainServerConnectionDeniedPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 17 | :yes:`Y` | :yes:`Y` | | MuteEnvironment | AudioMixer::queueAudioPacket, |br| | | | | | | | AudioMixer::handleMuteEnvironmentPacket, |br| | | | | | | | AudioClient::handleMuteEnvironmentPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 18 | :yes:`Y` | :yes:`Y` | | AudioStreamStats | AudioMixer::queueAudioPacket, |br| | | | | | | | AudioIOStats::processStreamStatsPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 19 | :yes:`Y` | :no:`N` | | DomainServerPathQuery | DomainServer::processPathQueryPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 20 | :yes:`Y` | :no:`N` | | DomainServerPathResponse | NodeList::processDomainServerPathResponse | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 21 | :yes:`Y` | :no:`N` | | DomainServerAddedNode | NodeList::processDomainServerAddedNode | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 22 | :yes:`Y` | :no:`N` | :blu:`B` | :ref:`ICEServerPeerInformation` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 23 | :yes:`Y` | :no:`N` | :no:`N` | :ref:`ICEServerQuery` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 24 | :yes:`Y` | :yes:`Y` | | OctreeStats | Agent::handleOctreePacket, |br| | | | | | | | AvatarMixer::handleOctreePacket, |br| | | | | | | | EntityScriptServer::handleOctreePacket, |br| | | | | | | | OctreePacketProcessor::handleOctreePacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 25 | :yes:`Y` | :yes:`Y` | | SetAvatarTraits | AvatarMixer::queueIncomingPacket, |br| | | | | | | | ClientTraitsHandler::processTraitOverride | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 26 | :yes:`Y` | :yes:`Y` | | InjectorGainSet | AudioMixer::queueAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 27 | :yes:`Y` | :no:`N` | | AssignmentClientStatus | AssignmentClientMonitor::handleChildStatusPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 28 | :yes:`Y` | :yes:`Y` | | NoisyMute | AudioClient::handleNoisyMutePacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 29 | :yes:`Y` | :yes:`Y` | | AvatarIdentity | AvatarMixer::handleAvatarIdentityPacket, |br| | | | | | | | AvatarHashMap::processAvatarIdentityPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 30 | :yes:`Y` | :yes:`Y` | | NodeIgnoreRequest | AudioMixer::queueAudioPacket, |br| | | | | | | | AvatarMixer::handleNodeIgnoreRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 31 | :yes:`Y` | :no:`N` | | DomainConnectRequest | DomainGatekeeper::processConnectRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 32 | :yes:`Y` | :no:`N` | | DomainServerRequireDTLS | DomainHandler::processDTLSRequirementPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 33 | :no:`N` | :yes:`Y` | | NodeJsonStats | DomainServer::processNodeJSONStatsPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 34 | :no:`N` | :yes:`Y` | :blk:`X` | OctreeDataNack | OctreeServer::handleOctreeDataNackPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 35 | :no:`N` | :no:`N` | | StopNode | AssignmentClient::handleStopNodePacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 36 | :yes:`Y` | :yes:`Y` | | AudioEnvironment | AudioClient::handleAudioEnvironmentDataPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 37 | :no:`N` | :yes:`Y` | :blk:`X` | EntityEditNack | EntityEditPacketSender::processEntityEditNackPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 38 | :yes:`Y` | :no:`N` | :yes:`Y` | :ref:`ICEServerHeartbeat` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 39 | :yes:`Y` | :no:`N` | :blk:`X` | :ref:`ICEPing` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 40 | :yes:`Y` | :no:`N` | :blk:`X` | :ref:`ICEPingReply` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 41 | :yes:`Y` | :yes:`Y` | | EntityData | Agent::handleOctreePacket, |br| | | | | | | | AvatarMixer::handleOctreePacket, |br| | | | | | | | EntityScriptServer::handleOctreePacket, |br| | | | | | | | OctreePacketProcessor::handleOctreePacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 42 | :no:`N` | :yes:`Y` | | EntityQuery | OctreeServer::handleOctreeQueryPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 43 | :yes:`Y` | :yes:`Y` | :yes:`Y` | :ref:`EntityAdd` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 44 | :yes:`Y` | :yes:`Y` | :yes:`Y` | :ref:`EntityErase` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 45 | :yes:`Y` | :yes:`Y` | :yes:`Y` | :ref:`EntityEdit` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 46 | :yes:`Y` | :no:`N` | | DomainServerConnectionToken | NodeList::processDomainServerConnectionTokenPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 47 | :yes:`Y` | :no:`N` | | DomainSettingsRequest | DomainServerSettingsManager::processSettingsRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 48 | :yes:`Y` | :no:`N` | | DomainSettings | DomainHandler::processSettingsPacketList | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 49 | :yes:`Y` | :blu:`D` | | AssetGet | AssetServer::handleAssetGet | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 50 | :blu:`I` | :yes:`Y` | | AssetGetReply | AssetClient::handleAssetGetReply | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 51 | :yes:`Y` | :blu:`D` | | AssetUpload | AssetServer::handleAssetUpload | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 52 | :blu:`I` | :yes:`Y` | | AssetUploadReply | AssetClient::handleAssetUploadReply | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 53 | :yes:`Y` | :yes:`Y` | | AssetGetInfo | AssetServer::handleAssetGetInfo | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 54 | :yes:`Y` | :yes:`Y` | | AssetGetInfoReply | AssetClient::handleAssetGetInfoReply | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 55 | :no:`N` | :yes:`Y` | | DomainDisconnectRequest | DomainServer::processNodeDisconnectRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 56 | :yes:`Y` | :no:`N` | | DomainServerRemovedNode | NodeList::processDomainServerRemovedNode | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 57 | :yes:`Y` | :yes:`Y` | | MessagesData | MessagesMixer::handleMessages, |br| | | | | | | | MessagesClient::handleMessagesPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 58 | :yes:`Y` | :yes:`Y` | | MessagesSubscribe | MessagesMixer::handleMessagesSubscribe | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 59 | :yes:`Y` | :yes:`Y` | | MessagesUnsubscribe | MessagesMixer::handleMessagesUnsubscribe | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 60 | :yes:`Y` | :no:`N` | :yes:`Y` | :ref:`ICEServerHeartbeatDenied` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 61 | :yes:`Y` | :blu:`D` | | AssetMappingOperation | AssetServer::handleAssetMappingOperation | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 62 | :blu:`I` | :yes:`Y` | | AssetMappingOperationReply | AssetClient::handleAssetMappingOperationReply | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 63 | :yes:`Y` | :no:`N` | :yes:`Y` | :ref:`ICEServerHeartbeatACK` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 64 | :yes:`Y` | :yes:`Y` | | NegotiateAudioFormat | AudioMixer::queueAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 65 | :yes:`Y` | :yes:`Y` | | SelectedAudioFormat | Agent::handleSelectedAudioFormat, |br| | | | | | | | EntityScriptServer::handleSelectedAudioFormat, |br| | | | | | | | AudioClient::handleSelectedAudioFormat | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 66 | :yes:`Y` | :yes:`Y` | | MoreEntityShapes | *(no references, delete on next protocol bump?)* | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 67 | :no:`N` | :yes:`Y` | | NodeKickRequest | DomainServerSettingsManager::processNodeKickRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 68 | :no:`N` | :yes:`Y` | | NodeMuteRequest | AudioMixer::handleNodeMuteRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 69 | :yes:`Y` | :yes:`Y` | | RadiusIgnoreRequest | AudioMixer::queueAudioPacket, |br| | | | | | | | AvatarMixer::handleRadiusIgnoreRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 70 | :no:`N` | :yes:`Y` | | UsernameFromIDRequest | DomainServerSettingsManager::processUsernameFromIDRequestPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 71 | :yes:`Y` | :no:`N` | | UsernameFromIDReply | NodeList::processUsernameFromIDReply | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 72 | :yes:`Y` | :yes:`Y` | | AvatarQuery | AvatarMixer::handleAvatarQueryPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 73 | :yes:`Y` | :yes:`Y` | | RequestsDomainListData | AudioMixer::queueAudioPacket, |br| | | | | | | | AvatarMixer::handleRequestsDomainListDataPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 74 | :yes:`Y` | :yes:`Y` | | PerAvatarGainSet | AudioMixer::queueAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 75 | :yes:`Y` | :yes:`Y` | | EntityScriptGetStatus | EntityScriptServer::handleEntityScriptGetStatusPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 76 | :yes:`Y` | :yes:`Y` | | EntityScriptGetStatusReply | EntityScriptClient::handleGetScriptStatusReply | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 77 | :yes:`Y` | :yes:`Y` | | ReloadEntityServerScript | EntityScriptServer::handleReloadEntityServerScriptPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 78 | :yes:`Y` | :yes:`Y` | :yes:`Y` | :ref:`EntityPhysics` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 79 | :yes:`Y` | :yes:`Y` | | EntityServerScriptLog | EntityScriptServer::handleEntityServerScriptLogPacket, |br| | | | | | | | EntityScriptServerLogClient::handleEntityServerScriptLogPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 80 | :yes:`Y` | :yes:`Y` | | AdjustAvatarSorting | AvatarMixer::handleAdjustAvatarSorting | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 81 | :yes:`Y` | :no:`N` | | OctreeFileReplacement | DomainServer::handleOctreeFileReplacementRequest | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 82 | :yes:`Y` | :yes:`Y` | | CollisionEventChanges | *(no references, delete on next protocol bump?)* | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 83 | :yes:`Y` | :no:`N` | | ReplicatedMicrophoneAudioNoEcho | AudioMixer::queueReplicatedAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 84 | :yes:`Y` | :no:`N` | | ReplicatedMicrophoneAudioWithEcho | AudioMixer::queueReplicatedAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 85 | :yes:`Y` | :no:`N` | | ReplicatedInjectAudio | AudioMixer::queueReplicatedAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 86 | :yes:`Y` | :no:`N` | | ReplicatedSilentAudioFrame | AudioMixer::queueReplicatedAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 87 | :yes:`Y` | :no:`N` | | ReplicatedAvatarIdentity | AvatarMixer::handleReplicatedPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 88 | :yes:`Y` | :no:`N` | | ReplicatedKillAvatar | AvatarMixer::handleReplicatedPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 89 | :yes:`Y` | :no:`N` | | ReplicatedBulkAvatarData | AvatarMixer::handleReplicatedBulkAvatarPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 90 | :yes:`Y` | :no:`N` | | DomainContentReplacementFromUrl | DomainServer::handleDomainContentReplacementFromURLRequest | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 91 | :yes:`Y` | :yes:`Y` | | ChallengeOwnership | AvatarMixer::queueIncomingPacket, |br| | | | | | | | EntityServer::handleEntityPacket, |br| | | | | | | | Wallet::handleChallengeOwnershipPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 92 | :yes:`Y` | :yes:`Y` | | EntityScriptCallMethod | EntityScriptServer::handleEntityScriptCallMethodPacket, |br| | | | | | | | EntityScriptingInterface::handleEntityScriptCallMethodPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 93 | :yes:`Y` | :yes:`Y` | | ChallengeOwnershipRequest | EntityServer::handleEntityPacket, |br| | | | | | | | Wallet::handleChallengeOwnershipPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 94 | :yes:`Y` | :yes:`Y` | | ChallengeOwnershipReply | EntityServer::handleEntityPacket, |br| | | | | | | | ContextOverlayInterface::handleChallengeOwnershipReplyPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 95 | :yes:`Y` | :no:`N` | | OctreeDataFileRequest | DomainServer::processOctreeDataRequestMessage | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 96 | :yes:`Y` | :no:`N` | | OctreeDataFileReply | OctreePersistThread::handleOctreeDataFileReply | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 97 | :yes:`Y` | :no:`N` | | OctreeDataPersist | DomainServer::processOctreeDataPersistMessage | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 98 | :yes:`Y` | :yes:`Y` | :yes:`Y` | :ref:`EntityClone` | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 99 | :yes:`Y` | :yes:`Y` | | EntityQueryInitialResultsComplete | OctreePacketProcessor::handleOctreePacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 100 | :yes:`Y` | :yes:`Y` | | BulkAvatarTraits | AvatarHashMap::processBulkAvatarTraits | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 101 | :yes:`Y` | :yes:`Y` | | AudioSoloRequest | AudioMixer::queueAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 102 | :yes:`Y` | :yes:`Y` | | BulkAvatarTraitsAck | AvatarMixer::queueIncomingPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 103 | :yes:`Y` | :yes:`Y` | | StopInjector | AudioMixer::queueAudioPacket | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ | 104 | :yes:`Y` | :no:`N` | | AvatarZonePresence | DomainServer::processAvatarZonePresencePacket, |br| | | | | | | | ScreenshareScriptingInterface::processAvatarZonePresencePacketOnClient | +-----+----------+----------+----------+-----------------------------------+------------------------------------------------------------------------+ Proposed List of UDT Custom Packet Types: +----+-----------------------------------+ | | Name | +====+===================================+ | 1 | :ref:`ICEServerQuery` | +----+-----------------------------------+ | 2 | :ref:`ICEServerPeerInformation` | +----+-----------------------------------+