cmu Introduction Download Setup Advanced Users Sample Templates Meeting Places
Home User Manual Installation Requirements Trouble Shooting Tribe of the Challenged Discussion Group


IPchat Engine Specification

IPchat Engine Specification

I provide this information in case somebody feels like building an alternative/better client (e.g. for the Mac). The IPchat protocol is fairly simple and all you need to build your own chat engine is a way of sending and receiving UDP datagrams via port #1499 and the following information:

IPchat datagrams consist of the following 4 blocks:

<header><senderIP><code><message>

where

<header> Always the string DynamIP.
<senderIP> The IP address of the sender in brackets (the IP address is in dotted string format xxx.xxx.xxx.xxx); for example, if the sender's IP address is 180.10.55.77 then this second block would equal [180.10.55.77].
<code> 1 character command code (see table below).
<message> Any string terminated with the NULL character 0C (an empty message consists of the NULL character only).

The following table lists all the possible command codes, their meaning, the kind of message that follows them, and how the receiver is supposed to behave once the whole packet is received (note that all strings must be terminated with the NULL character 0C):

     
A meaning acknowledge HAIL
  <message> sleep code of sender (i.e. "S" or "s")
  receiver action optional feedback into chat output window
  example DynamIP[205.75.230.200]AS
     
B meaning BYE
  <message> no message (i.e. only NULL character 0C)
  receiver action remove sender from chat list
  example DynamIP[205.75.230.200]B
     
c meaning information about sender: comment field
  <message> any string
  receiver action show information about sender
  example DynamIP[205.75.230.200]cget DynamIP from http://DynamIP.home.ml.org/
     
D meaning distribute IP address of chat participant
  <message> IP address in dotted string format
  receiver action scan IP address and verify existence of IPchat client
  example DynamIP[205.75.230.200]D205.75.230.184
     
d meaning information about sender: local date/time
  <message> date/time in the following format: dd-mm-yy hh:mm:ss
  receiver action display information about sender
  example DynamIP[205.75.230.200]d23-03-97 14:48:31
     
e meaning information about sender: e-mail address
  <message> e-mail address
  receiver action display information about sender
  example DynamIP[205.75.230.200]ecmu@bigfoot.com
     
H meaning HAIL
  <message> no message (i.e. only NULL character 0C)
  receiver action notify user and return command "acknowledge HAIL"
  example DynamIP[205.75.230.200]H
     
h meaning information about sender: handle
  <message> handle
  receiver action display information about sender
  example DynamIP[205.75.230.200]hcmu
     
I meaning request info
  <message> no message (i.e. only NULL character 0C)
  receiver action return info about user to sender (handle, name, e-mail, URL, location, date/time, comment, version)
  example DynamIP[205.75.230.200]I
     
i meaning information about sender: URL
  <message> no message (i.e. only NULL character 0C)
  receiver action display information about sender
  example DynamIP[205.75.230.200]ihttp://cmu.home.ml.org/
     
l meaning information about sender: location
  <message> location
  receiver action display information about sender
  example DynamIP[205.75.230.200]lPalo Alto, CA
     
M meaning message
  <message> any text
  receiver action notify user and display text in chat output window; send command "acknowledge message" back to sender
  example DynamIP[205.75.230.200]Mhello
     
m meaning acknowledge message
  <message> sleep code
  receiver action notify user that message was delivered
  example DynamIP[205.75.230.200]ms
     
n meaning information about sender: name
  <message> name
  receiver action display information about sender
  example DynamIP[205.75.230.200]nChristoph Mueller
     
P meaning POLL
  <message> first character of message is sleep code of sender (i.e. "S" or "s"); the rest of the message is the handle of the sender.
  receiver action add sender to chat list and return command "acknowledge POLL"
  example DynamIP[205.75.230.200]Pscmu
     
p meaning acknowledge POLL
  <message> first character of message is sleep code of sender (i.e. "S" or "s"); the rest of the message is the handle of the sender.
  receiver action add sender to chat list
  example DynamIP[205.75.230.200]pscmu
     
S meaning sleep ON
  <message> no message (i.e. only NULL character 0C)
  receiver action update chat list (sender went into sleep mode)
  example DynamIP[205.75.230.200]S
     
s meaning sleep OFF
  <message> no message (i.e. only NULL character 0C)
  receiver action update chat list (sender woke up from sleep mode)
  example DynamIP[205.75.230.200]s
     
T meaning text
  <message> any text
  receiver action display text in chat output window
  example DynamIP[205.75.230.200]Thello
     
t meaning private text
  <message> any text
  receiver action display text in chat output window and make user aware of the fact that this text was sent as private text
  example DynamIP[205.75.230.200]thello
     
U meaning request URL
  <message> no message (i.e. only NULL character 0C)
  receiver action send command "acknowledge URL" to sender
  example DynamIP[205.75.230.200]U
     
u meaning acknowledge URL
  <message> URL
  receiver action load browser and display URL
  example DynamIP[205.75.230.200]uhttp://cmu.home.ml.org/
     
v meaning information about sender: version
  <message> version string
  receiver action display information about sender
  example DynamIP[205.75.230.200]vDynamIP v3.0
     
X meaning request NetMeeting
  <message> NetMeeting SpeedDial (the *.cnf file)
  receiver action load NetMeeting and call the sender; send back command "acknowledge NetMeeting request" or "NetMeeting error"
  example DynamIP[205.75.230.200]X<*.cnf file>
     
x meaning acknowledge NetMeeting request
  <message> sleep code
  receiver action notify user that request was delivered successfully
  example DynamIP[205.75.230.200]xs
     
y meaning NetMeeting error
  <message> sleep code
  receiver action notify user that request was delivered successfully but declined
  example DynamIP[205.75.230.200]ys
     
cmu Introduction Download Setup Advanced Users Sample Templates Meeting Places
Home User Manual Installation Requirements Trouble Shooting Tribe of the Challenged Discussion Group

e-mail
cmu@bigfoot.com
http://cmu.home.ml.org
Voice/Fax [+1] (415) 494-6030

hits since March 23, 1997
Last modified: April 17, 1997