cmu Introduction Download Setup Advanced Users Sample Templates Meeting Places
Home User Manual Installation Requirements Trouble Shooting Tribe of the Challenged Discussion Group
DIPS (Dynamic IP Server) - visit http://DIPS.home.ml.org/ to find out more...
Please Note: I accepted a job with Credit Suisse Group (Group Risk Management) and will be moving back to Europe. Because of this relocation (first to Switzerland, then to the U.K.) I can only offer reduced support for DynamIP. Please try peer support in the DynamIP Discussion Group if you don't get a timely response to your e-mail inquiry.


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 DIP.
<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 DIP[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 DIP[205.75.230.200]B
     
c meaning information about sender: comment field
  <message> any string
  receiver action show information about sender
  example DIP[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 DIP[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 DIP[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 DIP[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 DIP[205.75.230.200]H
     
h meaning information about sender: handle
  <message> handle
  receiver action display information about sender
  example DIP[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 DIP[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 DIP[205.75.230.200]ihttp://cmu.home.ml.org/
     
l meaning information about sender: location
  <message> location
  receiver action display information about sender
  example DIP[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 DIP[205.75.230.200]Mhello
     
m meaning acknowledge message
  <message> sleep code
  receiver action notify user that message was delivered
  example DIP[205.75.230.200]ms
     
n meaning information about sender: name
  <message> name
  receiver action display information about sender
  example DIP[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 DIP[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 DIP[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 DIP[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 DIP[205.75.230.200]s
     
T meaning text
  <message> any text
  receiver action display text in chat output window
  example DIP[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 DIP[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 DIP[205.75.230.200]U
     
u meaning acknowledge URL
  <message> URL
  receiver action load browser and display URL
  example DIP[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 DIP[205.75.230.200]vDynamIP v3.02
     
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 DIP[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 DIP[205.75.230.200]xs
     
y meaning NetMeeting error
  <message> sleep code
  receiver action notify user that request was delivered successfully but declined
  example DIP[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
DIPS (Dynamic IP Server) - visit http://DIPS.home.ml.org/ to find out more...
Please Note: I accepted a job with Credit Suisse Group (Group Risk Management) and will be moving back to Europe. Because of this relocation (first to Switzerland, then to the U.K.) I can only offer reduced support for DynamIP. Please try peer support in the DynamIP Discussion Group if you don't get a timely response to your e-mail inquiry.

e-mail
cmu@bigfoot.com
http://cmu.home.ml.org

hits since March 23, 1997
Last modified: July 27, 1997