public void ChatterboxInvitation(UUID sessionID, string sessionName,
                                         UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog,
                                         uint timeStamp, bool offline, int parentEstateID, Vector3 position,
                                         uint ttl, UUID transactionID, bool fromGroup, byte[] binaryBucket)
        {
            StringBuilder sb = StartEvent("ChatterBoxInvitation");

            LLSDxmlEncode.AddElem("session_id", sessionID, sb);
            LLSDxmlEncode.AddElem("from_name", fromName, sb);
            LLSDxmlEncode.AddElem("session_name", sessionName, sb);
            LLSDxmlEncode.AddElem("from_id", fromAgent, sb);

            LLSDxmlEncode.AddLLSD(InstantMessageBody(fromAgent, message, toAgent,
                                                     fromName, dialog, timeStamp, offline, parentEstateID, position,
                                                     ttl, transactionID, fromGroup, binaryBucket, true, 0, true), sb);

            Enqueue(EndEventToBytes(sb), toAgent);
        }