.IP Messenger Exchange Server ̊Tv
..ȋ@\
IP Messenger  LAN ŊȒP IP Messenger ( G[WFgƌĂт܂ ) mbZ[WłDꂽ\tgłB 
Microsoft Netmeeting  MSN Messenger, ICQ Ȃǂ낢ȃbZW[\tg܂AȂƂĂȒPEyȓĂ IP Messenger ԂłB
 IP Messenger͊{IɃu[hLXg̓͂ꂽ LAN łbZ[W邱Ƃł܂B

łŋ߂łׂ͗ LAN (ZOg) ׂׂ̗ƃbZ[WƂ肵ƂȂĂ܂B

܂܂ł̓u[hLXg̓͂Ȃlbg[NƂƂ肷ɂ́AuBroadcast ݒv IP AhXςw肵Ă܂AExchange Server 𗧂グ΂̕Kv͂܂B

<STRONG>zXgXgɍŐV̏ԂɂȂ܂B</STRONG>

Exchange Server  IP Messenger [Uelbg[NTAeG[WFgɃzXgXg𑗐M܂BƂĂ Microsoft Network  WINS T[o ̂悤Ȃ̂ƍlĂB
̃T[o𓮍삳 IP ȂĂlbg[NԂ IP Messenger gp邱Ƃł܂B
C^[lbg / VPN ł IP Messenger gp邱Ƃł܂B

..Oo[W̕ύX_
0.2.11 => 0.2.12
	- Win ł exe ɖ肪BÂW[NĂB( ܂₳܁A肪Ƃ܂ )
	- dial R}hC
	- ip R}h̖߂l\[g悤ɂ

Q
ڍׂ͗

..
IP Messenger Exchange Server ͈ȉ̊œmF܂ 

IP Messenger Exchange Server mF OS
&&TABLE&&
TH=0
Perl Script ,RedHat Linux 8.0J,perl-5.8.0-55
,Windows 2000 SP4,ActivePerl 5.8.0
,Windows 98 SE,ActivePerl 5.8.0
Win32 exe,Windows 2000 SP4,-
,Windows 98 SE,-
,WindowsXP SP1,-
&&TABLE&&

IP Messenger Exchange Server mF G[WFg
&&TABLE&&
TH=0
IP Messenger Win32  Ver.2.03,mF
IP Messenger Win32  Ver.1.47,mF
IP Messenger Win32  Ver.1.41,mF
IP Messenger Win32  Ver.1.40,mF
IP Messenger Win32  Ver.1.34 rel-3,mF
IP Messnger for MacOS X,҂̕mF
gtkipmsg,҂̕mF
&&TABLE&&

Perl 5  Socket W[삷łΓ삷Ǝv܂B
J RedHat Linux 6.2J / TurboLinux 6.0J  perl 5.8.0 gp܂B

Windows ł Perl CXg[Ă邱Ƃ܂ȂƎv܂̂ Win32 exe pӂ܂BPerl CXg[ĂȂĂ삵܂B

..ToDo
- DDNS ( FQDN ) Ή

- Proxy @\
IP Messenger for Java ̂悤 Proxy ɂāAeT[oԂ HTTP Őڑ悤ɂǂ낤H HTTP vLVΉŁB
łt@CYt̃vLV͓B

- LDAP Ή
݂̓zXgXg̓ɎĂ邪A LDAP gpăfBNgT[oɃzXgXgi[̂͂ǂ낤H
LDAP ͏ǎۂɂ͂ǂȕɎgĂ̂낤B

..m̃oO
񍐂Ȃ

..A
oOv]ET|[gȂǂ͈ȉ̃[ Web y[WB

&&AUTHOR&& &&ADDRESS&&
&&URL&&

.CXg[ 
Exchange Server ͔ėpI Perl Script ł Windows Ή Win32 exeł܂BgɂȂvbgtH[ɍ킹ă_E[hĉB
_E[hKȃfBNgɈȉ̃t@CWJ܂B

..Perl Script ł̃CXg[
Perl Script  ( Perl Script ł Perl 5.005 ȍ~KvłB ) WJƈȉ̃t@CWJ܂̂ŁAp[~bVK؂ɐݒ肵ĉB

&&TABLE&&
SUMMARY=MANIFEST
t@C,,p[~bV 
ipmsgex.pl,T[o{,755 
Conf.pm,Conf W[,666
Cron.pm,Cron W[,666
ipmsgex.conf,ݒt@C,600
Ipmsg/*,Ipmsg W[ꎮ,666
readme/*,戵,444
&&TABLE&&

Linux Ȃǂ Unix n OS ł perl ̃pXmFĂBipmsgex.pl ̐擪s

&&-
<TABLE border="0" width="500" >
<TR><TD style='color : white; background-color : black;'>
#!/usr/bin/perl
</TABLE>
-&&

ƂĂ܂BKX perl ̃CXg[ĂpXɕύXĂB

..Win32ł̃CXg[
Win32  ( Win32 ł exe P̂œ삵܂BPerl s͕Kv܂B ) WJƈȉ̃t@CWJ܂B
KȃtH_ɓĉB

&&TABLE&&
t@C, 
ipmsgex.exe,T[o{
ipmsgex.conf,ݒt@C
readme/*,戵
&&TABLE&&

..ACXg[@
L̃CXg[ŃCXg[t@Cׂč폜ĉB

.Quick Start KCh
ׂǵugɂȂĂBł͍ŏ̎ԂŊȒPɎg@܂B

..T[o̐ݒ
܂ݒ ipmsgex.conf ōs܂BGfB^Ȃǂňȉ̍ڂݒ肵ĂB

BindAddr  Exchange Server g}V IP AhXݒ肵܂B192.168.0.128 gpĂꍇ́A
BindAddr[0] = '192.168.0.128'
Ɛݒ肵܂B
 IP AhXgpĂ Multihomed host ̏ꍇ͈ȉ̂悤ɕ̐ݒ܂B
BindAddr[0] = '192.168.0.128'
BindAddr[1] = '192.168.1.128'

Ƀu[hLXg̐ݒ܂B
Exchange Server ̂ZOg 192.168.0.0/24 ̏ꍇňꏏɎgZOg 192.168.1.0/24 ̏ꍇ́Aȉ̂悤ɂ܂B
BroadCast[0] = '192.168.1.0/255.255.255.0'
̃ZOgꍇ BindAddr ̎Ɠ悤ɕ̐ݒ܂B
BroadCast[0] = '192.168.1.0/255.255.255.0'
BroadCast[1] = '192.168.2.0/255.255.255.0'

[Jlbg[N ( 192.168.0.0/24 ) ւ̃u[hLXgݒ͕Kv܂BftHgŃ[Jlbg[Nɂ̓u[hLXg ( 255.255.255.255 ) s܂B

..G[WFg̐ݒ
̓G[WFǵuLocal Network ւ̃u[hLXgݒv Exchange Server  IP AhXݒ肵AuDialUp ڑṽ`FbN{bNXIɂ܂B
NĂ݂܂傤B͂߂͓悤 verbose ( 璷 ) [hŋN邱Ƃɂ܂B( 삪mFł -v IvVOĂ悢łB)
perl œꍇ perl ipmsgex.pl -vAWindows ̏ꍇ ipmsgex.exe -v ƂċN܂B

..
ƃR\[ɂ Exchange Server bZ[W𑗎MĂlqAIP Messenger ̃[Uꗗ Exchange Server ꗗɉĂƎv܂Bœ슮łB
G[ŋNȂꍇ́AExchange Server Ɠ IP Messenger NĂ邩ABindAddr ̐ݒ肪ԈĂƎv܂B

.g
..Exchange Server ̐ݒ
Exchange Server gOɐ Exchange Server ̐ݒsKv܂B
Exchange Server  ipmsgex.conf Őݒ܂BGfB^ȂǂŐݒsĉB

&&TABLE&&
TH=0
SUMMARY=ݒ荀
{ݒ,IP AhXzXgȂǂݒ肵܂
T[oݒ,ɊւĂ̐ݒ肵܂
ZLeBݒ,Mlbg[N⋑ۂ IP AhX̐ݒ܂
u[hLXgݒ,u[hLXgsG[WFglbg[N̐ݒ܂
ݒ,Exchange Server 𕡐pӂēꍇɐݒ肵܂
&&TABLE&&

ݒl̏ꍇ '`' łKv܂Bݒ̃Tvt@C ( ipmsgex.conf ) Ă܂̂łB

...{ݒ
{ݒł Exchange Server ̃[UzXgAgp IP AhXȂǃG[WFgƂĂ̐ݒs܂B

....User
Exchange Server 𓮂[Uw肵܂BG[WFg̃OIɕ\܂B
p 50 ȏ̓Jbg܂B

)
User = 'admin'

....NickName
Exchange Server ̃jbNl[w肵܂BG[WFg̃[Uɕ\܂B
p 50 ȏ̓Jbg܂B

)
NickName = 'Exchange Server'

....Host
Exchange Server ̃zXgw肵܂BG[WFg̃zXgɕ\܂B
p 50 ȏ̓Jbg܂B

)
Host = 'Exchange Server'

....Group
Exchange Server ̃O[vw肵܂BG[WFg̃O[vɕ\܂B
p 50 ȏ̓Jbg܂B

)
Group = 'IPMsg'

....BindAddr
Exchange Server gplbg[NC^[tFCX IP AhXƃ|[gԍ ":" ŋ؂Ďw肵܂B
̃lbg[NC^[tFCX}Vł͎gpC^[tFCXSĎw肵ĂB
|[gԍ̋Lqȗ 2425 gp܂B
FQDN ł̎w͕słB

)
192.168.0.128 gpāA|[g 2425  Exchange Server gp܂B
BindAddr[0] = '192.168.0.128'

̃lbg[NC^[tFCXgpꍇ͈ȉ̂悤ɂ܂B
BindAddr[0] = '192.168.0.128:2425'
BindAddr[1] = '192.168.1.128:2500'
BindAddr[2] = '219.xxx.2.224:2600'

 BindAddr  '0.0.0.0:2425' Ǝw肷鎖 0.2 ȑÕo[WƓ悤 IP AhXw肵Ȃœ삳鎖\łB܂B

....AbsenceHead
s݃[hɃjbNl[ɕt镶łBݒ肳ĂȂꍇftHgKp܂B
default : [Sleeping]

)
AbsenceHead = '[Sleeping]'

....AbsenceStr
sݒʒmłBݒ肳ĂȂꍇftHgKp܂B
default : Now sleeping.

)
AbsenceStr = 'Now sleeping.'

....AbsenceStrNot
s݃[hł͂ȂɑMsݒʒmłB ݒ肳ĂȂꍇftHgKp܂B
default : Not absence mode. 

)
AbsenceStrNot = 'Not absence mode.'

...T[oݒ
T[oݒł Exchange Server ̃T[oL̓̐ݒs܂B

....RefreshInterval
ԊuŃzXgXgĂAu[hLXgsăzXgXgŐVɍXV܂B
̍XVXPW[ݒ肵܂B
w̎ԂɍXVs킹鎖ł܂̂ŁAT[o̓sĂꍇ͊eT[o RefreshInterval Ԃ炷ƂŁAIȃtbVsł܂B( T[o A ͖30AT[o B ͖35Ƃӂ )

Unix Crontab Őݒ肷@<STRONG>ق</STRONG>Őݒ肷鎖o܂B
RefreshInterval ɂ͔pXy[Xŋ؂ꂽ 5 ̃tB[h܂B
&&TABLE&&
tB[h,w\Ȓl
,0-59
,0-23
,1-31
,1-12 (͖OBLQ) 
j,0-6 ( 0 ͌jA6 ͓jB͖O) 
&&TABLE&&

&&TABLE&&
gw,l̐
0-23,͈͎w<BR>Ԃ̏ꍇ 1-10 Ƃ 1`10̊Ԃ̎w肪o܂
*,ChJ[h<BR>Ԃł 0-23Ał 1-23 Ɠł
1-10/2,1-10 ̊Ԃ 2ԖƂw肪o܂
&&TABLE&&

Ƃ΁A
&&TABLE&&
TH=0
30 * * * *,30Ɏs
30 8-18 * * 0-4,jj̊Ԃ́AAM 8`PM 6  30Ɏs
30 */2 * * *,2Ԃ̖30Ɏs
&&TABLE&&
Ƃł܂B

܂ЂςɍXVsƁAlbg[Nׂ܂܂Ȃ܂B 
tbV͓T[oɑ΂Ăs܂B
default : '30 * * * *' ( 30ɍXV )

)
RefreshInterval = '30 * * * *'

....GroupSend
G[WFgɂ͂̏ĂO[ṽzXgXgMȂ悤ɂ܂BiO[vʑM@\) Itɂɂ 0 / Iɂɂ 1 ݒ肵܂B
default : 0

)
GroupSend = '0' 

....StaticPort
G[WFgփzXgXg𑗐M鎞ɁÃzXgXgɊ܂܂ĂzXg UDP |[gԍŒ肷鎖o܂B
Itɂɂ 0 / Iɂɂ͌Œ肵|[gԍw肵܂B
̋@\ NAT z Exchange Server ɑ΂ANZXĂG[WFgɑΉ@\łB

ÓIzXgXgݒt@Cɐݒ肵zXg̃|[gԍ StaticPort Őݒ肵|[gԍɊւ炸Â܂ܑM܂B

NAT z Exchange Server ɃANZXĂƓrŃ|[gԍςĂ܂܂B

ENAT ̏ꍇ
MEG[WFg ( Port : 2425 ) ===> MEExchange Server ( Port : 2425 瑗MĂƔF ) 

ENAT L̏ꍇ
MEG[WFg ( Port : 2425 ) ===> NAT ( Port : 10000 ) ====> MEExchange Server ( Port : 10000 瑗MĂƔF )

Ƃ NAT oHɓĂꍇAM̃G[WFg̃|[gԍł͂ȂAoH NAT M|[gԍ𑗐M|[gԍƔFzXgXgɓo^܂B
̏ꍇ̃zXgXg𑼂̃G[WFgMꍇAbZ[W𑗐M鎞 Port : 10000 ֑M܂B( ͂܂ )

Exchange Server zXgXgɓo^鎞Ƀ|[gԍŒlɂĂ΂̌ۂ͉o܂BׂẴG[WFg|[g 2425 gpĂꍇɂ StaticPort = '2425' ƂĂΗǂł傤B

)
StaticPort = '0'
StaticPort = '2425'

....UseLocalPort
G[WFgɃbZ[WȂǂ𑗐M鎞ɁAG[WFgMĂ|[gł͂Ȃ LocalPort ɑ΂ĕԐM悤ɂ܂B
Itɂɂ 0 / Iɂɂ 1 ݒ肵܂B
default : 0

)
UseLocalPort = '0'

....TIMEOUT_RECV
bZ[W̑M̃^CAEgԂݒ肵܂Bʏ͐ݒύXKv͂܂B
select ֐ 4Ԗڂ̃p[^łB
default : 0.01

)
TIMEOUT_RECV = '0.01'

....RET_INTERVAL
IP Messenger G[WFg̓T[rXɃGg鎞 IPMSG_BR_ENTRY 𑗐M܂BExchange Server ͂̃bZ[WMɃzXgXgԐM܂B
IP Messenger for Win32 ̏ꍇGg 5bԊu 2 IPMSG_BR_ENTRY𑗐M܂B
Exchange Server ͕񓯂zXgXg𑗐M̂h߂ɍŏIPMSG_BR_ENTRY MĂ RET_INTERVAL bԂ IPMSG_BR_ENTRY MĂzXgXg𑗐MȂ悤ɂĂ܂B
ʏ͕ύXKv͂܂B
default : 10

)
RET_INTERVAL = '10'

....DirectBroadcast
IP Messenger G[WFg̓T[rXɃGg鎞Ȃǂ IPMSG_BR_ENTRY [Jlbg[N ( 255.255.255.255 ) Ƀu[hLXg𑗐M܂B
DirectBroadcast  0 w肷ƁÃu[hLXg̑MȂ悤ɂ鎖ł܂B
܂肱 0 w肷邱Ƃ Exchange Server Ƃ͊֌W̖G[WFg Exchange Server ݂̑Bo܂B
̑胆jLXgʐMȂ΂Ȃ܂̂ŁAG[WFg͕K Exchange Server  IP AhXݒ肵A܂ Exchange Server ̓[Jlbg[Ñu[hLXg BroadCast ݒōsȂ΂Ȃ܂B
ʏ͕ύXKv͂܂B

) DirectBroadcast = '1'

...ZLeBݒ
ZLeBݒł́AbZ[WM̐ݒC^NeBu[h̐ݒȂǂs܂B

....bZ[WM̐ݒ
IP Messenger Exchange Server ɂ AllowAddr / DenyAddr ō\ZLeB@\Ă܂B
Allow  Deny ̗D揇ʂ́AAllow > Deny ɂȂ܂B


Deny ɐݒ肵ĂĂ Allow ɐݒ肵Ă IP AhX̃bZ[W͎M܂B
Allow, Deny ̏ɓKȂbZ[W͎M܂B

{IȃZLeB̐ݒ́A
FROMCHECK = '1'
AllowAddr[0] = 'Mlbg[N'
DenyAddr[0] = '0.0.0.0/0.0.0.0'
ƂɂāAׂẴbZ[Wj悤ɂAAllowAddr ɎM\ȃlbg[Nݒ肵܂B

) 
192.168.0.0/24  IP AhXG[WFg烁bZ[WMB IP AhX̃bZ[W͔jB

FROMCHECK = 1
AllowAddr[0] = '192.168.0.0/255.255.255.0'
DenyAddr[0] = '0.0.0.0/0.0.0.0'

)
192.168.1.0/24  IP AhXG[WFg烁bZ[WہB IP AhX̃bZ[W͎MB

FROMCHECK = 1
DenyNet[0] = '192.168.0.0/255.255.255.0'

.....FROMCHECK
AllowAddr / DenyAddr ō\ZLeB@\쓮邩ǂݒ肵܂B
ZLeB@\𓮍삳ƁAbZ[W̑M DenyAddr ꍇbZ[WjAAllowAddr ̃bZ[WM悤ɂȂ܂B
Itɂɂ 0 / Iɂɂ 1 ݒ肵܂B

default : 0

)
FROMCHECK = '1'

.....AllowAddr
bZ[WM\ɂlbg[NAlbg[NAhXElbg}XNEM|[gԍ̑gݍ킹Ŏw肵܂B
Őݒ肵lbg[ÑbZ[W͎M܂BFROMCHECK  1 ɂȂĂƗLɂȂ܂B

<STRONG>lbg}XNw肵Ȃꍇ 255.255.255.0 ftHgŎgp܂B( |[gԍw肷ꍇ̓lbg}XNKw肵ĂB )</STRONG>

 IP AhXw肷ꍇ̓lbg}XN 255.255.255.255 w肵܂B
FQDN ł̎w͕słB

)
192.168.0.1`255, 192.168.1.128 ̃bZ[W 192.168.2.1`255 ̃lbg[NŃ|[g 2426 瑗MꂽbZ[WM܂B

AllowAddr[0] = '192.168.0.1'
AllowAddr[1] = '192.168.1.128/255.255.255.255'
AllowAddr[2] = '192.168.2.0/255.255.255.0:2426'

.....DenyAddr
bZ[Wjlbg[NAlbg[NAhXElbg}XNEM|[gԍ̑gݍ킹Ŏw肵܂B
Őݒ肵lbg[ÑbZ[W͔j܂BFROMCHECK  1 ɂȂĂƗLɂȂ܂B

<STRONG>lbg}XNw肵Ȃꍇ 255.255.255.0 ftHgŎgp܂B( |[gԍw肷ꍇ̓lbg}XNKw肵ĂB )</STRONG>

 IP AhXw肷ꍇ̓lbg}XN 255.255.255.255 w肵܂B
FQDN ł̎w͕słB

)
ׂẴbZ[Wj܂B

DenyAddr[0] = '0.0.0.0/0.0.0.0'

....C^NeBu[h̐ݒ
Exchange Server ͋NɃG[WFg烁bZ[W𑗐M鎖 Exchange Server 𐧌䂷邱Ƃł܂B
ł͂̐ݒs܂B

.....Passwd
C^NeBu [h quit / flush ȂǃT[ôɊւANVƂɊǗ҂̃pX[hw肵܂B 
pA_[o[gpł܂B pX[hݒ肳ĂȂꍇA AdminCommand ȏꍇ́AǗ҃R}h͖ɂȂ܂B 
default : admin

)
Passwd = 'admin'

.....UserCommand
C^NeBu[hł user R}h󂯕t邩ǂݒ肵܂B Itɂɂ 0 / Iɂɂ 1 ݒ肵܂B
default : 1

)
UserCommand = '1'

.....AdminCommand
C^NeBu[hł admin R}h󂯕t邩ǂݒ肵܂BItɂɂ 0 / Iɂɂ 1 ݒ肵܂B
AdminCommand Itɐݒ肵Ă quit R}h͏펞LɂȂ܂B
default : 1

)
AdminCommand = '1'

...u[hLXgݒ
Exchange Server ̃C̋@\łu[hLXgG~[g@\̐ݒs܂B

....BroadCast
[^ău[hLXg͂Ȃlbg[NɃu[hLXgAhXݒ肵܂B( u[hLXgG~[g@\ )
ݒ́Albg[NAhXElbg}XNE|[gԍEMlbg[NC^[tFCX̑gݍ킹Ŏw肵܂B

BroadCast[0] = 'lbg[NAhX/lbg}XN:M|[gԍ:Mlbg[NC^[tFCXԍ'

<STRONG>lbg}XNw肵Ȃꍇ 255.255.255.0 ftHgŎgp܂B( |[gԍw肷ꍇ̓lbg}XNKw肵ĂB )</STRONG>

u[hLXgɂȂɂݒ肳ĂȂꍇł[Jlbg[N '255.255.255.255' ɂ̓u[hLXg͍s܂B

ʂ̃u[hLXgAhXݒ肳܂ƁAʂɎgpĂ܂܂̂łCB

) |[gԍw肷
̂悤 LocalPort ԍƈႤ|[gԍu[hLXgAhXɎw肷鎖ŁAႤ|[gԍŉ^pĂG[WFg擾鎖ł܂B

BroadCast[0] = '192.168.0.0/255.255.255.0'
BroadCast[1] = '192.168.0.0/255.255.255.0:2426'
BroadCast[2] = '192.168.1.0/255.255.255.0'

) P̃AhXw肷
ʏ̃u[hLXg ( *.*.*.255 ) ͂ꍇ̃G[WFgɑMɂ͈ȉ̂悤ɂ܂B

BroadCast[0] = '192.168.0.255/255.255.255.255'
BroadCast[1] = '192.168.1.128/255.255.255.255'

) lbg}XNw肵Ȃꍇ
lbg}XNw肵ĂȂꍇAIɃlbg}XN̓NX C ( 255.255.255.0 ) ݒ肳܂B

BroadCast[0] = '192.168.0.0'
BroadCast[1] = '192.168.1.0/255.255.255.0'

̐ݒ͉̐ݒƓłB

BroadCast[0] = '192.168.0.0/255.255.255.0'
BroadCast[1] = '192.168.1.0/255.255.255.0'

.....MC^[tFCX̑I
u[hLXg𑗐Mlbg[NC^[tFCXIԎo܂B

Ƃ΁A

BindAddr[0] = '192.168.0.128:2425'
BindAddr[1] = '192.168.1.128:2500'

BroadCast[0] = '192.168.0.0/255.255.255.0:2425:0'
BroadCast[1] = '192.168.1.0/255.255.255.0:2425:1'

Ƃݒꍇ BroadCast[0] Őݒ肵lbg[Nɂ BindAddr[0] 烁bZ[WMABroadCast[1] Őݒ肵lbg[Nɂ BindAddr[1] 烁bZ[WM܂B

̐ݒsňȉ̂悤ȃbg܂B

BroadCast őMlbg[NC^[tFCXԍw肵Ȃꍇ́ABindAddr[0] gpăbZ[WM܂B
̌ BroadCast[0] ̃G[WFg Exchange Server  IP AhX 192.168.0.128 ƔF鎖o܂A BroadCast[1] ̃G[WFg Exchange Server  IP AhX 192.168.0.128 ƔFĂ܂܂B

 BroadCast[1] ̑MC^[tFCX 1 ( BindAddr[1] ) ݒ肷鎖 BroadCast[1] ̃G[WFg 192.168.1.128  Exchange Server łƔF鎖ł܂B

...ݒ
̃lbg[Nɑ݂Ă Exchange Server ƃzXgXg𓯊ݒs܂B

....SyncAddr
 Exchange Server  IP AhXE|[gԍEMlbg[NC^[tFCXw肵܂B SyncAddr w肷Ɠ[hœ삵܂B ɂẴ͓JjYƍ\ĉB

 Exchange Server ́Aɓo^ĂAhX̃T[oƂ܂B鑊ɂ݂ IP AhXݒ肵ĉBȂɓo^AhX͎I AllowAddr ɂo^܂B

) ̍\ - 1 ̏ꍇ
Server-A ( 192.168.0.1 )
SyncAddr[0] = '192.168.1.1'
SyncAddr[1] = '192.168.2.1'

Server-B ( 192.168.1.1 )
SyncAddr[0] = '192.168.0.1'
SyncAddr[1] = '192.168.2.1'

Server-C ( 192.168.2.1 )
SyncAddr[0] = '192.168.0.1'
SyncAddr[1] = '192.168.1.1'

) |[gԍw肷ꍇ
192.168.1.1 |[g 2500  Exchange Server Ɠ鎖o܂B

SyncAddr[0] = '192.168.1.1:2500'

) MC^[tFCX̑Isꍇ
BindAddr[1] gp 192.168.1.1:2425  Exchange Server Ɠs܂B

SyncAddr[0] = '192.168.1.1:2425:1'

...ÓIzXgXgݒ
Exchange Server ͊{IɓIɃG[WFgTzXgXg쐬܂AÓIzXgXgݒt@CɃG[WFgLqĂł炩߃zXgXgĂo܂B

_E[hpbP[WɊ܂܂Ă hostlist.static t@CTvłB
ҏWċNIvV -s  hostlist.static t@Cw肷鎖ŐÓIzXgXggp邱Ƃł܂B

<STRONG>ÓIzXgXgݒt@C͕KR[h SHIFT-JIS ɂĉB</STRONG>

ÓIzXgXgt@Cɐݒ肵|[gԍ́AStaticPort @\̉e͎󂯂܂BStaticPort Ŏw肵|[gԍƂ͕ʂɁAÓIzXgXgt@CŐݒ肵eG[WFg̃|[gԍ͂̂܂ܑM܂B

....HostList
ÓIzXgXgݒt@C̃zXg̒`͈ȉ̂悤 1s 1̃G[WFgLq܂B

[U ( OI )AzXgAR}hԍ ( q )AIP AhXA|[gԍAjbNl[AO[v ":" ( pJ} ) ŋ؂ċLq܂B

HostList[0]='test:Exchange Server:1:192.168.24.0:2500:Exchange Server:IPMsg'
HostList[1]='test:Exchange Server:65537:192.168.24.0:2500:Exchange Server:IPMsg'

hostlist t@Cɏo͂zXgƓtH[}bgɂȂĂ܂̂ŁAhostlist t@CRs[y[XĝȒPŗǂł傤B

.....R}hԍ
R}hԍ̓G[WFg̏ԂÍEt@CYt̃T|[g󋵂ԍłBG[WFgɍ킹ee̐l𑫂킹Đݒ肵܂B

&&TABLE&&
ԍ,e
256,s݃[h
512,T[oIvV ( gp )
65536,_CAAbvڑ
2097152,t@CYtT|[g
4194304,ÍT|[g
&&TABLE&&

Ⴆ IP Messenger for Win32  Ver.2.03 ̏ꍇłƃt@CYtƈÍT|[gĂ܂̂ 2097152 + 4194304 + 1 = 6291457 w肵܂B( 1 ͕KĉB)
Ƀ_CAAbvڑ ( IP Messenger for Win32 łŐݒ胁j[̃_CAAbvڑ`FbN̂Ɠ ) ɂꍇɂ́A 65536 𑫂܂B

EEE256 𑫂ƃG[WFg͕s݂ŃzXgXgɓo^鎖ł܂B

..G[WFg̐ݒ
IP Messenger ̃u[hLXgݒ Exchange Server  IP AhXݒ肵܂B( ̗ł IP Messenger for Win32   192.168.0.1 ݒ )

<DIV align='center'><IMG src='./image/client-set.jpg'></DIV>

G[WFg̐ݒ͂ŏIłB

uDialUp ڑvɃ`FbNĂƁAׂẴG[WFg

&&-
<UL>
<LI>uv
<LI>uޏv
<LI>us݃[hύXv
</UL>
-&&
𓮓IɍXV邱Ƃł܂B

 [hœ삳Ă鎞ɃG[WFg̃T[o IP AhXݒ肵܂ƁAT[õzXgXgŏdēo^Ă܂܂

..Exchange Server ̋N
...Perl Script 
Linux Ȃǂ Unix n OS ł

&&-
<TABLE border="0" width="500" >
<TR><TD style='color : white; background-color : black;'>
$ ./ipmsgex.pl
</TABLE>
-&&

ƂċN܂BN

&&-
<TABLE border="0" width="500" >
<TR><TD style='color : white; background-color : black;'>
$ ./ipmsgex.pl<BR>
Perl/IPMSG Exchange Server Ver.0.x.xx<BR>
</TABLE>
-&&

ƕ\܂BŋNJnłB

...Win32 exe
R}hvvgut@Cw肵Ďsv

&&-
<TABLE border="0" width="500" >
<TR><TD style='color : white; background-color : black;'>
c:\>ipmsgex.exe
</TABLE>
-&&

ƂċN܂BN

&&-
<TABLE border="0" width="500" >
<TR><TD style='color : white; background-color : black;'>
c:\>ipmsgex.exe<BR>
Perl/IPMSG Exchange Server Ver.0.x.xx<BR>
</TABLE>
-&&

ƕ\܂BŋNJnłB

...NIvV
NIvV͈ȉ̂̂܂B

&&TABLE&&
SUMMARY=NIvV
IvV,<BR>
-c Configuration file,ݒt@C̃pXEt@Cݒ肵܂B<BR>ftHgł ipmsgex.pl / ipmsgex.exe ƓfBNgɂ ipmsgex.conf t@Cǂ݂܂Bʂ̏ꏊɂꍇʂ̃t@C̏ꍇɐݒ肵܂B<BR>j<BR>-c /etc/ipmsg.conf ( Unix ̏ꍇ )<BR>-c c:\windows\ipmsgex.conf ( Windows ̏ꍇ )<BR>
-s static hostlist filename,ÓIzXgXgt@C̃pXEt@Cݒ肵܂B<BR>ftHgł͎w肳Ă܂BB<BR>j<BR>-c /etc/hostlist.static ( Unix ̏ꍇ )<BR>-c c:\windows\hostlist.static ( Windows ̏ꍇ )<BR>
-u hostlist filename,ێĂzXgXg hostlist t@CɏopXƃt@Cw肵܂B<BR>j<BR>-u /var/log/hostlist ( Unix ̏ꍇ )<BR>-u c:\windows\hostlist.log ( Windows ̏ꍇ )<BR>
-v,MEMpPbg\܂B<BR>IP Messenger ̃pPbg SJIS R[ĥ܂ܕ\܂̂ Unix n͒̕ӂĉB܂B 
-h,Usage \܂B
&&TABLE&&

...G[WFg̋N
G[WFgNƁAT[o玩Iɑ̃lbg[ÑzXgXgĕ\܂Bu[hLXglbg[Nꍇ⃆[UꍇAlbg[NGĂꍇȂǂ͕\ɎԂ܂B

uNvƁuXVv{^ƂɃzXgXg͍XV܂B
 ̓Iɂ IPMSG_BR_ENTRY / IPMSG_ANSENTRY M

G[WFǵuDialUp ڑv`FbNĂƁuvEuޏvEus݃[hύXvꍇAIɑ̃lbg[Ñ[UɂύXʒm悤ɂȂ܂B

..NĂ
Exchange Server N͂قƂǉȂĂ\܂BG[WFg̓ޏɍ킹 Exchange Server K؂ɃzXgXgXVAzz܂B
C^NeBu[h ( [UR}hƊǗ҃R}h ) pĐFXȃANVs킹邱Ƃł܂B

...C^NeBu[h
G[WFgT[oɑ΂ăR}h𑗂邱ƂŃT[o̐AXe[^XȂǂ邱Ƃł܂BR}h̓G[WFgT[oɃbZ[W𑗐M`ōs܂B

󕶂T[oɑ邱ƂŁAzXgXg̍ŏIXVԁAo^Ă郆[UAo^ĂO[v邱Ƃł܂B

R}hɂ 2 ނ܂B1 ͈ʂ̃[UgR}hA̓T[oǗ҂T[õXe[^XAT[o̓~肷R}hłB

....[UR}h
[UR}h͈ʂ̃[UgpoR}hłBExchange Server ̐ݒ UserCommand  1 ɐݒ肷鎖ŗLɂȂ܂B

.....dial
DialUp ڑĂ郆[ŨXg擾܂B 

.....group
o^ĂO[ṽXg擾܂B 

.....host
o^ĂzXg̃Xg擾܂B 

.....&&I-ip
o^ĂzXg IP AhXƃ|[g̈ꗗ擾܂B 

....Ǘ҃R}h
Ǘ҃R}h͊Ǘ҂gpoR}hłBExchange Server ̐ݒ AdminCommand  1 ɐݒ肷鎖ŗLɂȂ܂B

.....broadcast
IP Messenger ̃R}h[JƓo^Ălbg[NɃu[hLXgs܂B 
ƂΈȉ̗̂悤ɂƃG[WFgɑ΂T[o͑ޏʒm܂B

j
broadcast passwd IPMSG_BR_EXIT
passwd ̏ ipmsgex.conf Őݒ肵 Passwd pX[h͂܂B

.....flush
T[oɓo^ĂzXgXgJE^Sď܂B[hœ삵Ăꍇ͓zXgXg܂B

j zXgXgꍇ
flush passwd

passwd ̏ ipmsgex.conf Őݒ肵 Passwd pX[h͂܂B

.....reload
ݒt@CǍ݁AT[oɓo^ĂzXgXgׂďAu[hLXgsAzXgXgč쐬܂B 
[hœ삵Ăꍇ͓zXgXgAēsăzXgXgč쐬܂B

j
reload passwd
passwd ̏ ipmsgex.conf Őݒ肵 Passwd pX[h͂܂B

.....sync
T[oɓo^Ă铯zXgXgAT[oɓo^Ă Exchange Server ƓƂ܂B

j
sync passwd
passwd ̏ ipmsgex.conf Őݒ肵 Passwd pX[h͂܂B

.....sleep
T[os݃[hɂ܂Bs݃[h̊Ԃ͊Ǘ҃R}hȊO󂯕ts݃bZ[WԐM܂B s݃[hʏ̃[hֈڍsɂ͂x sleep R}h𑗐M܂B

j
sleep passwd
passwd ̏ ipmsgex.conf Őݒ肵 Passwd pX[h͂܂B

.....status
T[o̐ݒeԂȂǂ܂B

j
status passwd
passwd ̏ ipmsgex.conf Őݒ肵 Passwd pX[h͂܂B

\Xe[^X́Aȉ 3̃JeSɕʂĂ܂B

&&TABLE&&
TH=0
CAPTION=<CAPTION>Server Settings<BR>ݒt@Cɐݒ肳Ăe</CAPTION>
-,ݒt@Cɐݒ肳ĂeƓł
&&TABLE&&

&&TABLE&&
TH=0
CAPTION=<CAPTION>Agent Information<BR>G[WFgƂĂ Exchange Server ̏</CAPTION>
ABSENCEOPT,s݃[hœ삵Ăꍇ 256 \܂B
AbsenceHead,s݃[hɃjbNl[ɕt镶
AbsenceStr,sݒʒm
AbsenceStrNot,s݃[hł͂ȂɑMsݒʒm
Agent,̃T[o̖Oƃo[WBGETINFO Mɂ̖OԂ܂
BLOWFISH,gp
Code,R[h
Command,̃T[õR}hԍ
DIALUPOPT,_CAAbv[hœ삵Ăꍇ 65536 \܂
ENCRYPTOPT,gp
EncroptPower,gp
Exponent,gp
FILEATTACHOPT,gp
Group,T[oĂO[vBG[WFg̃O[vɕ\܂
Host,̃T[õzXgBG[WFg̃zXgɕ\܂
NickName,̃T[õjbNl[BG[WFg̃[Uɕ\܂
PROTO_VER,gpĂvgR̃o[WB 1
PeerAddr,̃T[ogpĂ IP AhXB 1
PeerPort,̃T[ogpĂ|[gԍ
Pubkey,gp
RC2,gp
RSA,gp
SERVEROPT,gp
SIGN_MD5,gp
UpdateTime,G[WFg̍ŏIXV
User,̃T[õ[UBG[WFg̃OIɕ\܂B
&&TABLE&&

&&TABLE&&
TH=0
CAPTION=<CAPTION>Network Information<BR>I[vĂlbg[NC^[tFCX̏</CAPTION>
BindAddr,bind Ă IP AhX
Code,R[h
Host,̃T[õzXgBG[WFg̃zXgɕ\܂
LocalPort,̃T[ogpĂ|[gԍ
PacketERR,MłȂbZ[W
PacketN,pPbgԍł
PacketRECV,MbZ[Wł
PacketRJCT,jbZ[Wł
PacketSEND,MbZ[Wł
TIMEOUT_RECV,ݒ肳Ă TIMEOUT_RECV ł
UseLocalPort,UseLocalPort IvVLɂȂĂꍇA1 \܂
User,̃T[õ[UłBG[WFg̃OIɕ\܂
Verbose,verbose mode œ삵ĂꍇA1 \܂
&&TABLE&&

.....help
R}hꗗ擾܂B 

.....quit
T[oVbg_E܂B

j
quit passwd
passwd ̏ ipmsgex.conf Őݒ肵pX[h͂܂B

...hostlist t@C
Exchange Server ͊eG[WFgɑMzXgXgƂقړet@Cɏo͂܂B
ftHg hostlist t@C̏o͐ ipmsgex.pl ( ipmsgex.exe ) ̂fBNgłB

Q
NIvV
ÓIzXgXgݒ

..Exchange Server ̏I 
Iɂ̓C^NeBu[h quit R}hgpĉB
quit R}hgpȂŏIƃG[WFg̃zXgXgɃT[oc܂܂ɂȂ܂B 

.FAQ / TIPS
..TIPS
...BindAddr  IP AhXw肵Ȃ΂Ȃ܂񂩁H
BindAddr  '0.0.0.0:2425' Ǝw肷鎖 0.2 ȑÕo[WƓ悤 IP AhXw肵Ȃœ삳鎖\łB܂B

0.0.0.0 ( INADDR_ANY )  BindAddr Ɏw肵ċNƁAȉ̃fbg܂B
<OL>
<LI>Ńu[hLXgbZ[WŎMĂ܂

0.0.0.0 ŋNꍇőMbZ[WMꍇÃbZ[W̃G[WFg̃bZ[WǂʂȂ߁AExchange Server  Exchange Server ɑ΂ăzXgXg𑗐MĂ܂܂B
Q͂܂񂪁AʂȓłB

<LI>ǂ̃lbg[NC^[tFCX ( IP AhX ) ŃbZ[W𑗐M邩Ȃ

192.168.0.128  192.168.1.128 ̃lbg[NC^[tFCXꍇ 0.0.0.0 ŋNƁAǂ̃C^[tFCX ( socket ) ŃbZ[WM邩܂B
G[WFgł Exchange Server  IP AhXA192.168.0.128 ̏ꍇ 192.168.1.128 ̏ꍇ鎖ɂȂĂ܂܂B

</OL>

...ʂ̃|[gŕ Exchange Server N 
o[W 0.2 ȍ~ Exchange Server ̓}`|[gɑΉĂ܂̂ŁABindAddr 𕡐ݒ肷鎖ň̃T[ovZXŏ\삵܂Bʂ̃|[gԍŕNꍇ́A

1. ipmsgex.conf ʂ̃t@CŃRs[
2. Rs[t@C̃|[gԍ
3. Rs[t@C Exchange Server NB( -c IvVQ )

ŕ̃T[oN邱Ƃł܂B

...}`z[zXg̏ꍇ
0.2 ȍ~̃o[Wł͕̃lbg[NC^[tFCX BindAddr Ŏw肷鎖œɎgp鎖ł܂B
̃lbg[NC^[tFCXꍇ́Agp IP AhX̃C^[tFCX BindAddr 
SĎw肵ĉB

 BindAddr  '0.0.0.0:2425' Ǝw肷鎖 0.2 ȑÕo[WƓ悤 IP AhXw肵Ȃœ삳鎖\łB܂B

Q
BindAddr  IP AhXw肵Ȃ΂Ȃ܂񂩁H

...Nɂ́H 
....Linux Ȃǂ Unixn OS ̏ꍇ
Linux Ȃǂ OS ̏ꍇ́ANXNvg rc.local 

&&-
<TABLE border="0" width="500" >
<TR><TD style='color : white; background-color : black;'>
ipmsgex.pl &
</TABLE>
-&&

Ƃ OS NɃobNOEhŎsƎv܂B

....WindowsNT / Windows2000 Ȃǂ Windowsn OS ̏ꍇ
FireDaemon ( http://www.firedaemon.com/ ) 𗘗p鎖 Win32 łT[rXƂċN鎖o܂B

Windows2000  Ver. 0.09 ŊmFsȂ܂B
WindowsXP ̏ꍇ FireDaemon  Ver.1.5 BRC2 gp WindowsXP ŃT[rXƂĎgpł悤łB
( ނȂ܂肪Ƃ܂B ) 

܂ Exchange Server P̂ŋNāAɓ삵Ă鎖mFĉB FireDaemon _E[hăCXg[sȂĉB(  v0.09c + UI v1.0R3 _E[h܂B )

ݒ@ GUI ̕gpƊȒPł ( FireDaemonUI v1.0R3 )BFireDaemon ServiceNAꂼꍀڂZbgĂB

&&TABLE&&
SUMMARY=FireDaemon ݒl
ږ,ݒl 
Service Name,IP Messenger Exchange Server 
Service Description,IP Messenger Exchange Server 
Startup Type,Auto 
Application Working Directory,Exchange Server CXg[fBNg 
Application Executable,ipmsgex.exe ̃tpX 
Application Options,KvɉĐݒ 
&&TABLE&&

Ƃ͕KvɉĐݒ肵ĉBOK {^ƃT[rXꗗ IP Messenger Exchange Server ǉĂƎv܂B

JnĐɊJnΑvłB

...Verbose [ȟ́H
ȉ Verbose [hŋNɕ\郁bZ[W̗łB

<UL>
<LI>1s
MʁAM
<LI>2s
M IP AhXE|[gԍAM IP AhXE|[gԍAvgRR}hԍAvgRIvVԍAbZ[WTCY
<LI>3s
MbZ[W̓e
<LI>4s
bZ[Wjʒm ( vgRIɈᔽ̃bZ[WMꍇɕ\ )
</UL>

&&-
<PRE>
recv : Sun Sep 21 01:06:40 2003
       192.168.0.2:2426 => 192.168.0.2:2500 : 4 : 6356992 : 52 bytes
       1:1064106413:Mikio Fukushima:MIKIO:6356996:mikio2426
       REJECT : IPMSG_RECVMSG
recv : Sun Sep 21 01:06:45 2003
       192.168.0.2:2426 => 192.168.0.2:2500 : 1 : 6356992 : 52 bytes
       1:1064106415:Mikio Fukushima:MIKIO:6356993:mikio2426
send : Sun Sep 21 01:06:45 2003
       192.168.0.2:2500 => 192.168.0.2:2426 : 3 : 0 : 58 bytes
       1:1064074003:admin:Exchange Server:3:Exchange Server:IPMsg
recv : Sun Sep 21 01:15:59 2003
       192.168.0.2:2428 => 192.168.0.2:2500 : 33 : 0 : 17 bytes
       1:33:mikio:PC:33:
       REJECT : IPMSG_RECVMSG
</PRE>
-&&

...Ή̃vgR 
ȉ̃R}hƃIvVtOɂ͖ΉłBڂ IP Messenger ̃\[Xɂ Protocol.txt B

{IɃt@CYtƈÍΉłB

&&TABLE&&
SUMMARY=Ή̃vgR ( R}h )
IvV, 
<STRONG>R}h</STRONG>,<BR>
IPMSG_DELMSG,jʒm
,
IPMSG_GETFILEDATA,Ytt@CʒmiTCP Ŏgpj
IPMSG_RELEASEFILES,Ytt@Cj
IPMSG_GETDIRFILES,YtKwt@Cv
,
IPMSG_GETPUBKEY,RSA J擾
IPMSG_ANSPUBKEY,RSA J
<BR>,<BR>
<STRONG>IvVtO</STRONG>,<BR>
IPMSG_SERVEROPT,T[o[i\j
,
IPMSG_PASSWORDOPT,O
IPMSG_BROADCASTOPT,u[hLXgij
IPMSG_MULTICASTOPT,}`LXgiIj
IPMSG_NEWMUTIOPT,j[o[W}`LXgi\j
IPMSG_NOLOGOPT,OɎcȂiƂ𐄏j
,
IPMSG_FILEATTACHOPT,t@CYt
IPMSG_ENCRYPTOPT,Í
,
IPMSG_RETRYOPT,đtOiHOSTLIST擾Ɏgpj
,
<STRONG>ÍgptO</STRONG>,<BR>
IPMSG_RSA_512,gɑgݍ킹 hex \Ŏgp
IPMSG_RSA_1024,gɑgݍ킹 hex \Ŏgp
IPMSG_RSA_2048,gɑgݍ킹 hex \Ŏgp
IPMSG_RC2_40,gɑgݍ킹 hex \Ŏgp
IPMSG_RC2_128,gɑgݍ킹 hex \Ŏgp
IPMSG_RC2_256,gɑgݍ킹 hex \Ŏgp
IPMSG_BLOWFISH_128,gɑgݍ킹 hex \Ŏgp
IPMSG_BLOWFISH_256,gɑgݍ킹 hex \Ŏgp
IPMSG_SIGN_MD5,gɑgݍ킹 hex \Ŏgp
,
<STRONG>Ytt@Cgpt@C</STRONG>,<BR>
IPMSG_FILE_REGULAR,fileattr8bit
IPMSG_FILE_DIR,fileattr8bit
IPMSG_FILE_RETPARENT,fileattr8bit
IPMSG_FILE_SYMLINK,fileattr8bit
IPMSG_FILE_CDEV,fileattr8bit
IPMSG_FILE_BDEV,fileattr8bit
IPMSG_FILE_FIFO,fileattr8bit
IPMSG_FILE_RESFORK,fileattr8bit
,
<STRONG>Ytt@Cgpt@C</STRONG>,<BR>
IPMSG_FILE_RONLYOPT,fileattr24bit
IPMSG_FILE_HIDDENOPT,fileattr24bit
IPMSG_FILE_EXHIDDENOPT,fileattr24bit
IPMSG_FILE_ARCHIVEOPT,fileattr24bit
IPMSG_FILE_SYSTEMOPT,fileattr24bit
,
<STRONG>Ytt@Cgpt@C</STRONG>,<BR>
IPMSG_FILE_UID,
IPMSG_FILE_USERNAME,
IPMSG_FILE_GID,
IPMSG_FILE_GROUPNAME,
IPMSG_FILE_PERM,
IPMSG_FILE_MAJORNO,
IPMSG_FILE_MINORNO,
IPMSG_FILE_CTIME,
IPMSG_FILE_MTIME,
IPMSG_FILE_ATIME,
IPMSG_FILE_CREATETIME,
,
IPMSG_FILE_CREATOR,
IPMSG_FILE_FILETYPE,
IPMSG_FILE_FINDERINFO,
,
IPMSG_FILE_ACL,
IPMSG_FILE_ALIASFNAME,
IPMSG_FILE_UNICODEFNAME,
&&TABLE&&

...G[WFgIɃzXgXgXVɂ́H 
G[WFg̐ݒł܂AG[WFg̐ݒ DialUp ڑ̃`FbNƃzXgXgIɍXV܂B

...ǂ̒x̃lbg[Nш悪KvłH
Ƃ΃G[WFg1䂠̏ʂƂāAOjbNl[EIP AhX̏ 60Bytes Ƃ 300Ŗ 18KBytes ̏T[oG[WFgɑM鎖ɂȂ܂B
128Kbps ( 16KBytes/sec ) Ƃ1bŁA1̃zXgɑ΂ĂzXgXg̑Mo܂B
ǂ̈ʂ̑ш悪KvȂ̂́AZOgƂ̏G[WFgŕςĂĂ܂̂ŖmȐoƂ͏o܂̂ŏL̐Ql݂člĂ݂ĂB

IP Messenger for Win32 ̏ꍇAꂵĂzXgXg󂯎܂ł̃^CAEgftHgł 3bɐݒ肳Ă܂B 128Kbps ̃lbg[Nł 3̃G[WFgɂzXgXg𑗂邱ƂoȂȂĂ܂܂B
uzXgXg͂܂B͈ꕔ͂܂vQƂĂB

..guV[eBO
...G[WFgXgɕ\悤ɂȂ܂AbZ[WMł܂łB
G[WFg Exchange Server ̊ԂȂǂ NAT [^ȂǂĂ܂񂩁H
NAT [^ĂƃzXgXgM邱Ƃ͏o܂AG[WFgm̃bZ[WMoȂ܂B
܂ NAT [^ȂǂԂɓĂƁANAT [^bZ[Wx󂯎ƓKȃ|[gőɓ]̂Ŗ|[gԍςĂ܂܂B

StaticPort @\gƉ邩܂B

...NĂ\܂
łBʏ͉\܂B
IP Messenger N Exchange Server ̓mFĂB

NIvV -v tċNƃbZ[W̑M󋵂鎖o܂B

...zXgXg͂܂B͈ꕔ͂܂
܂zXgXg͂Ȃꍇ́A[^ PC ̃p[\it@CAEH[ UDP 2425 ǂĂ܂񂩁BG[WFggpĂ PC ɃCXg[Ă\tgmFĂ݂ĂB
܂NIvV -v tċNAExchange Server zXgXg𑗐MĂ鎖mFĉB

ꕔ͂Ȃꍇ́AtOg̏ꍇ܂B
MzXgXg̃TCY傫ƁAtOgN[^ PC ̃p[\it@CAEH[ŁAzXgXgؒfA͔jĂ܂܂B
[^t@CAEH[EVPN uȂǂŁAtOgNpPbgjȂ悤ɐݒ肵Ă݂ĂB

܂lbg[Nш悪ׂ̂ŃG[WFg^CAEgĂ܂܂B̏ꍇ Exchange Server 𕡐pӂĉ^p邩AG[WFg̃^CAEgԂL΂Kv܂B
IP Messenger for Win32 ̏ꍇ^CAEg̓WXg \HKEY_CURRENT_USER\Software\HSTools\IPMsg\ListGetMSec ɐݒ肳Ă܂B( P msec )

.N
..IP Messenger Win32 
{Ɩ{, IP Messenger J ( ̃N̕[Ă܂B)

http://www.asahi-net.or.jp/~vz4h-sruz/ipmsg.html

..IP Messenger + 
 IP AhXE|[gԍ bind ċNłÃ|[gԍ[UXgɕ\Ă̂ŊJɎgpĂĂ܂B

http://hackedipm.s26.xrea.com/

..IP Messnger for MacOS X
IP Messnger Exchange Server ɑΉĂ܂B

http://www.be.wakwak.com/~ishiwata/ipmsg/

..IP Messenger for Java
Proxy @\܂B

http://www1.ttv.ne.jp/~digitune/Java/IPMsg/

..gtkipmsg
GTK+𗘗pX11pIP MessengerB
IP Messnger Exchange Server ɑΉĂ܂B

http://thunder.prohosting.com/~nobori/gtkipmsg.html

..S҂ɂ IP Messenger vgRE
IP Messenger vgRɂĉĂ܂B

http://sanaki-web.hp.infoseek.co.jp/tcpip/ipmsg.htm

.쌴
..Tv
G[WFg = IP Messenger for Windows
T[o = IP Messenger Exchange Server Ӗ܂B

G[WFg...

NuXVv{^ƂAIƂAs݃[hςƂɃ[Jlbg[NƐݒ肳Ă IP AhXɃbZ[W𓊂܂B

T[o͂̃bZ[WLv`ăzXgXg쐬ÃG[WFgɑ΂ăzXgXg̃G[WFgɑM܂B

ŃG[WFg͉ȂĂASȃzXgXg𓾂邱Ƃo킯łB

T[o...

ƓŁANƂƈ莞ԂƂɃ[Jlbg[NƓo^Ălbg[NɃu[hLXgs܂BƃG[WFg͕ԎԂ܂B

ŃT[óA莞ԖɍŐṼzXgXg쐬邱Ƃo킯łB

ꂪ Exchage Server ̊{łB

܂T[o

1. u[hLXgăG[WFgT
2. G[WFgɑ΂ăzXgXg𑗐M

Ƃ 2_̎dsĂ܂B
..Ŝ̓
...Jڐ} ( lbg[N\ )
ȉɃlbg[N\܂̂œ܂B₱̂Ŕ΂Ă܂܂B

Exchage Server gɂȂl͈ʓIɈȉ̂悤ȃlbg[N\ɂȂƎv܂B

&&-
<OL>
<LI>Segment A, B, B2 ̓[^ȂǂŃZOg𕪂ĂB
<LI>[^̓u[hLXgAhXʂȂB
<LI>eZOǵA݂ UDP/IP ̂Ƃ肪łB( t@CAEH[ȂA[eBOK؂ɍs )
<LI>Segment A ɂ 3 G[WFg Group A Ƃē삵Ă܂B
<LI>Segment B ɂ 3 G[WFg Group B Ƃē삵Ă܂B
<LI>Segment B2 ɂ 3 G[WFg Group B Ƃē삵Ă܂B
<LI>lbg[N݂͂u[hLXgȂB
</OL>
-&&
OƂĐ܂B

ł Group  IP Messenger Őݒ肳ꂽuO[vv̂ƂłB
Domain Ƃ̂ Exchange Server ǗĂlbg[N̎łB܂u[hLXgszXgXg쐬Ώۂ̃lbg[NłB

<DIV align='center'><IMG src='./image/figure.jpg'></DIV>

...bZ[W̗ƃzXgXg̍\z ( [U̒T )
܂ȉ̂悤ɑJڂăT[o̓[UAzXgXgzz܂A

&&TABLE&&
bZ[W̗,T[ozXgXg̓e,Seg.A<BR>Clients GroupA,Seg.B<BR>Clients GroupB,Seg.B2<BR>Clients BroupB
1.Exchage Server-A ̓[Jlbg[NɃu[hLXg 'IPMSG_BR_ENTRY' sA[J̃G[WFgT܂B,-,GroupA,GroupB,GroupB 
2.̌ 'IPMSG_ANSENTRY' ԐMĂ Group A ܂B,Server<BR>GroupA,Server<BR>GroupA,GroupB,GroupB

3.ẴG[WFg 'IPMSG_ANSLIST' ŃzXgXg𑗐M܂B,Server<BR>GroupA,Server<BR>GroupA,GroupB,GroupB
4.Ɂuu[hLXgG~[g@\vɐݒ肳ꂽlbg[N 'IPMSG_BR_ENTRY' 𑗐M܂B<BR>̌ Segment B  Group B ܂B,Server<BR>GroupA<BR>GroupB,Server<BR>GroupA,GroupB,GroupB
5.ẴG[WFg 'IPMSG_ANSLIST' ŃzXgXg𑗐M܂B,Server<BR>GroupA<BR>GroupB,Server<BR>GroupA,Server<BR>GroupA<BR>GroupB,GroupB
6.  Segment B2  GroupB ܂B,Server<BR>GroupA<BR>GroupB,Server<BR>GroupA,Server<BR>GroupA<BR>GroupB,Server<BR>GroupA<BR>GroupB
&&TABLE&&
lbg[N̍G󋵂eG[WFg̉̑ȂǂőOシ邱Ƃ܂Ȁ̂悤ɑJڂ܂B
ŕ邱Ƃ͍ŌɔꂽO[vԑ󂯎ƂƂłB

...G[WFg̃T[oڑ
G[WFgT[o֐ڑɂ͓ʂȑ͕Kv܂B
EIP Messenger ̋NEIEs݃[hύXsƎIbZ[W𓊂܂̂ŁAT[o̓G[WFg̃bZ[WMAzXgXg
&&-
<UL>
<LI>o^
<LI>폜
<LI>ύX
</UL>
-&&
܂B

܂Aڑ@
&&-
<OL>
<LI>VKQ ( IPMSG_BR_ENTRY ̑M EuXVv{^j 
<LI>ޏ ( IPMSG_BR_EXIT ̑MEIP Messenger I ) 
<LI>s݃[hύX ( IPMSG_BR_ABSENCE ̑M ) 
</OL>
-&&
 3 _܂Bȏ̃bZ[WT[o󂯎ꍇA

&&TABLE&&
T[o̎MbZ[W,T[o̓
VKQ ( IPMSG_BR_ENTRY ),VKQ[UzXgXgɒǉB<BR>VKQ[Uɑ΂AIPMSG_ANSENTRY ԐMB<BR>VKQ[Uɑ΂AzXgXg𑗐MB
ޏ ( IPMSG_BR_EXIT ),ޏꂵ[UzXgXg폜B 
s݃[hύX ( IPMSG_BR_ABSENCE ),zXgXgɂs݃[hύX[Ũ[hύXB 
&&TABLE&&
̓s܂B

...T[oG[WFgփzXgXg̑M
L 3. Ő悤ɃT[oG[WFgփzXgXg𑗐M^C~O͊{I

&&-
<OL>
<LI>VKQƂ
<LI>uXVv{^Ƃ
</OL>
-&&
łB
T[oň莞ԂƂɃ[UTŝŁÃ^C~OłG[WFgփzXgXg𑗐M܂B

...G[WFgIɃzXgXgXVɂ́H
G[WFg͋NuXVv{^ƂɃ[JƓo^Ă IP ɐVKQm点킯łA̎̃zXgXg DialUp ڑ̃[Uꍇɂ́A
5 bɍĂѐVKQ𑗐M
Ƃ@\܂B

G[WFǵA
&&-
<OL>
<LI>ŏ̐VKQŃT[ozXgXg󂯎
<LI> 5 bɁÃzXgXg DialUp [UꍇAނɌĐVKQm点B
<LI>̃G[WFg͐VKQm
</OL>
-&&
Ƃ킯łB
܂S̃G[WFguDialUp ڑ̃`FbN΁vAuXVv{^ȂĂIɃzXgXgXV킯łB
Ɂus݃[hύXvuIvȂǂł DialUp ڑ̃[Uɑ΂ăbZ[W𑗐M̂ŁAus݃[hvuIvIɍXV܂B

..ʋ@\
...u[hLXgG~[g@\
Ƃ΁A
&&TABLE&&
TH=0
[Jlbg[N,192.168.0.0 / 255.255.255.0 
ׂ̃ZOg-A,192.168.1.0 / 255.255.255.0 
ׂ̃ZOg-B,192.168.2.0 / 255.255.255.0 
&&TABLE&&
Ƃlbg[N\ IP Messenger 𓮍삳ꍇu[hLXg͂Ζ肠܂񂪖ꍇ IP AhX

192.168.1.1
192.168.1.2
192.168.1.3
  :
  :
  :

ƉXw肵Ă킯łAExchange Server ł

BroadCast[0] = '192.168.1.0/255.255.255.0'
BroadCast[1] = '192.168.2.0/255.255.255.0'

Ɛݒ肵܂B

192.168.1.0 ` 192.168.1.255
192.168.2.0 ` 192.168.2.255

փu[hLXgG~[gđM܂Bۂ

192.168.1.1
192.168.1.2
192.168.1.3
  :
  :
  :

֑MĂ܂B

ڂ IP Messenger Winł README.TXT
u 6. [^z̐ݒɂāiLocalNetworkȊOւBroadcastݒjvQƂĂB

...O[vʑM@\
uO[vʑM@\vƂ 
G[WFgݒ肵ĂO[v A ƂAT[o͂̃G[WFgɑ΂āuO[v AṽzXgXgȂ@\łB

ƂΏ}ŁAExchange Server-A uO[vʑM@\ ON vɂĂꍇA

Segment -A  Group A  Group A  Server ȂB 
Segment -B / B2  Group B  Segment B / B2  Group B ܂B 
cƕ̐ĺucƕO[vvȂƂAZṕuZpO[vvȂBƂ悤Ȏgł܂B

...tbV@\
Exchange Server ͈̊Ԋu 
&&-
<UL>
<LI>ێĂzXgXg
<LI>u[hLXgs[U̒T
</UL>
-&&
s܂B( ԊũzXgT )

͑ޏ ( IPMSG_BR_EXIT ) 𑗐MɏG[WFgޏ肱ڂꍇɃ]r[UzXgXgɕێĂ܂łB
tbVԊu ipmsgex.conf  RefreshInterval Őݒ肵܂B

...@\
....̃JjYƍ\
Ver. 0.1 瓯@\T|[g܂B̋@\ Exchange Server ԂŃzXgXgƂo܂B 
ɂ 1̃T[oɃG[WFg̃ANZXW邱ƂhƂł܂B

Exchange Server ͓łʏ UDP Port 2425 gp܂̂ŁA[^ȂǂŃpPbgӂĂꍇ́A邱Ƃł܂B

̗͂܂A
&&-
<OL>
<LI>N瑼̃T[oɃzXgXgv ( IPMSG_GETLIST )Ãlbg[ÑzXgXg肵܂B
<LI>G[WFg̐VKQꍇÃT[oɓ`܂ ( IPMSG_SENDMSG+SENDCHECKOPT )B
<LI>G[WFg̑ޏꂪꍇÃT[oɓ`܂( IPMSG_SENDMSG+SENDCHECKOPT )B
<LI>G[WFg̕s݃[hύXꍇÃT[oɓ`܂( IPMSG_SENDMSG+SENDCHECKOPT )B
<LI>Ԋuő̃T[oɃzXgXgvÃlbg[N̍ŐṼzXgXg肵܂B tbV Ɠɍs܂B
</OL>
-&&
Ƃɍs܂BG[WFgɓꍇɒT[oɓ`AԊuɓzXgXgtbV܂B

ׂ<A href='./image/figure-sync.jpg'></A>łB

.....̍\ - 1
T[o𓯊ē삳\ƂẮAȉ̂悤Ƀlbg[N 1 䂸̍\l܂B

<DIV align='center'><IMG src='./image/sync-1.jpg'></DIV>

.....̍\ - 2
̂悤ɁA1 ̃T[o 2 ̃lbg[NS܂B

<DIV align='center'><IMG src='./image/sync-2.jpg'></DIV>

.....̍\ - 3
Ȃ\

Exchange Server ̓G[WFgƂƂ邱Ƃł܂BSyncAddr ɃG[WFg IP AhXw肷΁AT[o͋NƈԊuŎw肵ԂŃG[WFgɑ΂zXgXgv܂B

G[WFgŐṼzXgXgێĂ΁AT[o擾f[^ŐVɂȂ͂łB

zXgXg̏ďɂȂ肩˂܂̂ł߂B

<DIV align='center'><IMG src='./image/sync-3.jpg'></DIV>

....bZ[W
T[oms@͓ނ܂B
1. IPMSG_GETLIST ɂꊇ
2. IPMSG_SENDMSG ɂ钀

ꊇ͋NƃtbVɓo^Ă SyncAddr  IPMSG_GETLIST 𑗐MAIPMSG_ANSLIST M鎖ōs܂B

 IP Messenger  IPMSG_BR_ENTRY, IPMSG_ANSENTRY, IPMSG_BR_ABSENCE,IPMSG_BR_EXIT MɁÃbZ[W𑗐MzXg̏ASyncAddr  Exchange Server ɑMčs܂B

....̃bZ[W
̃bZ[W IPMSG_SENDMSG+IPMSG_SENDCHECKOPT pĒʏ̃bZ[WƂđM܂B

tH[}bg̓bZ[W̊gɈȉ̃bZ[W܂B

EǉEXV
( IPMSG_BR_ENTRY, IPMSG_ANSENTRY, IPMSG_BR_ABSENCE M )

add UserName:HostName:6356995 ( R}hEIvVԍ ):192.168.0.1:2425:NickName:GroupName

E폜
( IPMSG_BR_EXIT M )

del 192.168.0.1:2425

.
..&&M-&&I-0.2.12 March 8 2004
	- Win ł exe ɖ肪BÂW[NĂB( ܂₳܁A肪Ƃ܂ )
	- dial R}hC
	- ip R}h̖߂l\[g悤ɂ

..&&M-&&I-0.2.11 Feb 23 2004
	- DirectBroadcast ̃oOtBbNX

..&&M-&&I-0.2.10 Feb 17 2004
	- IPMSG_ANSLIST ŃzXgXgMɃR}hԍMĂoOCAIvVԍ𑗐M悤ɂB
	- u[hLXg𑗎MȂ悤ɐݒł悤ɂBDirectBroadCast IvV̒ǉB

..&&M-&&I-0.2.09b Oct 10 2003
	- 莞tbVɓo^ς݃zXgĂȂB
	- BroadCast ̐ݒőM|[gԍw肳ĂȂꍇAςȒlɑMĂB

..&&M-&&I-0.2.08b Sep 29 2003
	- bZ[W̑MȂǂύXB莞tbVɃG[WFg肱ڂĂB( cl肪Ƃ܂B)

..&&M-&&I-0.2.07b Sep 22 2003
	- Ⴂɂ StaticPort LɂȂĂȂ̂CB

..&&M-&&I-0.2.06b Sep 18 2003
	- lbg[NC^[tFCXE|[g̃T|[g
	- @ύX ( Oo[WƂ͈ꕔ݊EExchange Server Ԃ̓bZ[W肱ڂȂȂ )
	- ݒt@C LocalAddr, LocalPort p~ BindAddr  bind  IP AhXƃ|[gԍw肷悤ɂ
	- ݒt@C RefreshInterval Ԏw Unix Cron ƓԎwɂB( 莞s\ )
	- ݒt@C RET_INTERVAL Ԏwo悤ɂ
	- ݒt@C BroadCast, SyncAddr őM|[gԍwł悤ɂ
	- ݒt@C AllowNet, DenyNet  AllowAddr, DenyAddr ɓ
	- C^NeBu[h Ǘ҃R}h reload ́Aݒt@C̕ύXKpo悤ɂ
	- C^NeBu[h Ǘ҃R}h flush ́A[JẼzXgXgtbV悤ɂ
	- C^NeBu[h Ǘ҃R}h status ̕\eύX
	- ÓIzXgXgo^ł悤ɂ ( ÓIzXgXgݒEl肪Ƃ܂ )
	- zXgXgɓo^|[gԍŒɏo悤ɂ ( StaticPortEl肪Ƃ܂ )
	- zXgXgt@C̕ύX ( |[gԍgGfBAɂȂĂ̂rbOGfBA֕ύX ) 30985  2425 

..&&M-&&I-0.2.05 Sep 16 2003
	- Ipmsg W[gpăXNb`珑
	- BindAddr  bind  IP AhXwł悤ɂ
	- RefreshInterval Ԏw Unix Cron ƓԎwɂ
	- RET_INTERVAL Ԏwo悤ɂ
	- BroadCast, SyncAddr őM|[gԍwł悤ɂ

..&&M-&&I-0.1.32 Jul 8 2003
	- u[hLXgG~[g@\Ńlbg[NAhXɂbZ[W𑗐MĂAMȂ悤ɂB) 192.168.0.0
	- bZ[WM̃^CAEgԂwł悤ɂB( TIMEOUT_RECV )

..&&M-&&I-0.1.31 May 20 2003
	- dial R}hMƂɗ錻 ( ݂Ȃ[eBĂł ) C
	- ipmsgex.pl ŃfobOp[eB삵Ăʂ̃_~[[U쐬Ă

..&&M-&&I-0.1.30-2 May 19 2003
	- @\̃oOtBbNX ( Exchange Server ŃA2ڈȍ~ HostList łĂȂ )

..&&M-&&I-0.1.30-1 May 18 2003
	- ݒc[̔p~
	- 戵V ( ٍ outliner ɂϊ )
	- ZLeBΉC

..&&M-&&I-0.1.20-12 J
	- Verbose [hɑM|[gԍ\悤ɂB
	- ꕔ IP AhX֘ÃTu[` ipnet.pl ɂ܂Ƃ߂B
	- conf t@ĆAAllowNet, BroadCast AhXݒŃlbg}XNݒ肳ĂȂꍇAIɃNX C 255.255.255.0 ݒ肷悤ɂB
	- open \bhł͊{I INADDR_ANY ŊJ悤ɂBLocalAddr ͎w肵ȂB SelectNetIF IvVp~B

..&&M-&&I-0.1.20-11 Oct 20 2002
	- open \bh LocalAddr / LocalPort w肵ă\PbgJ悤ɂB
	- LocalAddr XgɂB
	- ipaddr_selfcheck \bhǉB
	- broadcast_ex \bh폜B
	- del_allownet / del_allowaddr \bhǉB
	- add_dialupaddr / del_dialupaddr \bhǉB
	- add_broadcastaddr / del_broadcastaddr / get_broadcastaddr \bhǉB
	- get_dialup \bh get_dialupaddr \bhɖOύXB
	- get_addrbynetwork \bh calc_addrbynetwork \bhɖOύXB
	- get_networkaddr \bh calc_networkaddr \bhɖOύXB
	- get_broadcastaddr \bh calc_broadcastaddr \bhɖOύXB
	- calc_broadcastaddr / calc_networkaddr \bh폜B
	- get_allownet / get_allowaddr \bhǉB
	- add_denynet / del_denynet / get_denynet \bhǉB
	- add_denyaddr / del_denyaddr / get_denyaddr \bhǉB
	- check_allownet / check_allowaddr / check_denynet / check_denyaddr \bhǉB

..&&M-&&I-0.1.20-10 Sep 8 2002
	- recv \bhŎMbZ[Wj@\ FROMCHECK ǉB
	- AllowNet / AllowAddr \bhǉB
	- get_broadcastaddr / get_networkaddr / ipaddr_range \bhǉB
	- print_recvmsg / print_sendmsg \bhǉB
	- add_allownet / add_allowaddr \bhǉB
	- add_broadcastaddr \bhǉB
	- broadcast \bh $object->{ BroadCastAddr } Xgɂ IP AhXɂbZ[W𑗐M邱ƂɂB
	- &broadcast Tu[`폜B
	- recv \bh SELFACPT BAUTOUSER  1 ɕύXB
	- get_hostlist \bh (  5 { )Bɔ add_hostlist / del_hostlist \bhB

..&&M-&&I-0.1.20-9 Sep 3 2002
	- recv \bh SELFACPT p~AAUTOUSER 1,2 ǉB
	- recv \bh IPMSG_AUTORETOPT  IPMSG_BROADCASTOPT ĂꍇłԐMĂ鎖
	  ̂CB
	- SendQueue ɉ PacketQueue ǉBbZ[W{ PacketQueue Ɋi[ SendQueue 
	  IP AhX PacketN i[e[u̖ɕύXB
	- get_hostlist \bh̃IvV DelimDummy ǉB
	- get_grouplist \bhCB̃O[v͕ԂȂ悤ɂB

..&&M-&&I-0.1.20-8 Mon Aug 26 2002
	- initialize Őɐݒ肳ĂȂlB( ^U𔻕ʂ̂ defined gp悤ɕύX )
	- add_hostlist \bhɓn COMMAND lł̂𕶎łn悤ɂB) IPMSG_BR_ENTRY
	- make_hostlist \bh code ɍ쐬 HostList Ɋ܂܂ĂzXg̐悤ɂB
	- IPMSG_GETLIST MƂɓo^ĂzXgꍇAIPMSG_ANSLIST ԂȂ悤ɂB

..&&M-&&I-0.1.20-7 Wed Aug 21 2002
	- reload R}hMƂ RefreshInterval Ɠ悤ȏɂB

..&&M-&&I-0.1.20 Tue Aug 16 2002
	- perl -w ŎsƂ warning oȂ悤ɃtBbNXB
	- send \bh̒ Ext  $MAX_UDPBUF ̒̕rƂŁAlength gpĂȂB 
	- conf t@CǍ݂ Conf.pm gp悤ɂB̎ɂ conf t@CLq@ꕔύXB
	&&-
	<OL>
	<LI>Kݒl 'strings..' ̂悤Ɉ͂ނƂɂB
	<LI>BroadCast ̂悤ɕݒlݒłݒl BroadCast[0] ̂悤ɓYtB
	</OL>
	-&&
	- HostList ɃzXgꍇAHostList file o͎ Warning oĂB
	- &send_hostlist  continue_flg ( counter ) ł͂Ȃ NickName, GroupName nĂꍇB
	- IPMSG_GELIST  SyncAddr MƂłG[WFgMƂƓ悤 HoltList nĂB( SyncAddr ֓n HostList ̓[JzXĝ )
	- $RET_INTERVAL ԈȓɃG[WFgIĂ܂NꍇAHostList nĂȂBIPMSG_BR_EXIT MƂ entrylist 炻̃zXg폜ĂȂ̂B
	- Ipmsg.pm recv \bh IPMSG_BR_ISGETLIST2, IPMSG_GETLIST ɕԐM悤ɂB
	- Ipmsg.pm recv \bh IPMSG_SENDMSG M IPMSG_NOADDLISTOPT Ȃꍇ́ÃzXg HostList ɓo^悤ɂBrecv \bh̃IvV AUTOADDLIST ^ɂKvB
	- Verbose mode bZ[WMAbZ[Wo͂ printf gp悤ɂB
	- 0.1.18 o[WAbvɓzXg IPMSG_ANSLIST del R}hɓnĂȂB

..&&M-&&I-0.1.19  Fri Aug 16 2002
	- put_value \bh
	- ̃\bhC
	- help bZ[W sleep R}hǉ ( s݃[hύX )
	- Ipmsg.pm code \bhCB 
	- RefreshInterval  flush Ă broadcast Ă̂ broadcast Ă flush 悤ɂB
	- PacketN ɃJEgAbvĂȂꍇ̂CB
	- bZ[WM PacketSEND JEgAbv悤ɏCB

..&&M-&&I-0.01.18  Mon Aug 05 2002
	- @\ȂǏCB

..&&M-&&I-0.01.17  Sat Aug 03 2002
	- @\oOtBbNXBzXgG[WFgɑMĂȂB
	- make_hostlist \bhǉBsend_hostlist \bh폜B

..&&M-&&I-0.01.16  Thu Aug 01 2002
	- @\oOtBbNXBadd / del pPbgɕs薳ȃzXg𓯊 ( ǉ ) ĂB

..&&M-&&I-0.01.15  Tue Jul 31 2002
	- IP Messenger for Win32 Ver.2.0 b3 ɑΉ

..&&M-&&I-0.01.14a Tue Dec 20 2001
	- ":" ܂ NickName  GroupName ɑΉ

..&&M-&&I-0.01.13a Tue Apr 10 2001
	- RecvBroadCast IvVǉ

..&&M-&&I-0.01.12a Wed Apr 04 2001
	- open \bhC

..&&M-&&I-0.01.11a Tue Feb 27 2001
	- send_hostlist \bhC ( NumberOfHosts oO )

..&&M-&&I-0.01.10a Sun Feb 25 2001
	- @\C

..&&M-&&I-0.01.09a Fri Feb 23 2001
	- open_conf Tu[eBC
	- ݒc[ config.html 쐬

..&&M-&&I-0.01.08a Mon Feb 19 2001
	- @\C

..&&M-&&I-0.01.07a Fri Feb 09 2001
	- get_remainqueue \bhǉ

..&&M-&&I-0.01.06a Thu Feb 08 2001
	- send_hostlist \bhC
	- T[o  HOSTLIST M悤ɂ
	- T[oƂ̓tbV悤ɂ

..&&M-&&I-0.01.05a Thu Feb 08 2001
	- @\C

..&&M-&&I-0.01.04a Sat Feb 03 2001
	- @\蒼

..&&M-&&I-0.01.03a Thu Feb 01 2001
	- send_hostlist \bhC
	- DualHomeHost pɃlbg[NC^[tFCXIł悤 LocalAddr IvVǉ

..&&M-&&I-0.01.02a Mon Jan 22 2001
	- @\C
	- UseLocalPort IvV IP Masquerade ΍ɒǉ
	- ̃bZ[WMȂ悤ɂIvV SELFACPT ǉ

..&&M-&&I-0.01.01a Sun Jan 21 2001
	- zXgXgt@Cɏo͂悤ɂ
	- @\ǉ

..&&M-&&I-0.09.10a Fri Jan 19 2001
	- ML[ ( send_queue ) 

..&&M-&&I-0.09.09a Wed Jan 17 2001
	- C^NeBuR}h啶ʂȂ悤ɂ

..&&M-&&I-0.09.08a Tue Jan 16 2001
	- bZ[WɑΉ

..&&M-&&I-0.09.07a Mon Jan 15 2001
	- O[vʑM@\LɂɁAǂ̃O[vɂȂ[Uɂׂ͂ẴO[v܂񂾃zXgXgԂ悤ɂ
	- C^NeBu[h admin R}h users R}h̗LE؂ւ悤ɂ

..&&M-&&I-0.09.06a Mon Jan 15 2001
	- s݃[hɑΉ
	- C^NeBu[h sleep R}hǉ ( s݃[hΉ )
	- IPMSG_GETABSENSEINFO  IPMSG_SENDABSENCEINFO ɑΉ
	- ݒt@C AbsenceHead, AsenceStr, AbsenceStrNot ǉ

..&&M-&&I-0.09.05a Sun Jan 14 2001
	- ݒt@C ( ipmsgex.conf ) ǂݍޕ@ύX
	- R}hCNIvV -c ǉ
	- Win32 exe ł̔zzJn

..&&M-&&I-0.09.04a Sun Jan 07 2001
	- C^NeBu[h status R}h broadcast R}hǉ

..&&M-&&I-0.09.03a Fri Jan 05 2001
	- C^NeBu[h flush R}hǉ

..&&M-&&I-0.09.02a Thu Jan 04 2001
	- G[WFg 5bɍđ IPMSG_BR_ENTRY bZ[W𖳎悤ɂ

..&&M-&&I-0.09a  Wed Dec 28 2000
	- C^NeBu[h̃R\[Ή~߂āAIP Messenger ̃bZ[WŃR}h𑗂悤ɂ
	- O[vʑM@\̏C

..&&M-&&I-0.08a  Tue Dec 26 2000
	- send_msg \bh̒ $MAX_UDFBUF ȏ̃bZ[W𑗐M鎞ɎIɃbZ[W𕪊@\ǉ
	- recv_msg \bhC

..&&M-&&I-0.07a  Mon Dec 25 2000
	- 8KBytes ȏ̃TCỸzXgXg𕪊Ă𑗐M悤ɂ ( IP Messenger for Win32 Ver.1.42b2 ɑΉ )

..&&M-&&I-0.06a  Thu Dec 21 2000
	- IPMSG_GETINFO M IPMSG_SENDINFO Ԃ悤ɂ

..&&M-&&I-0.05a  Sat Dec 16 2000
	- IPMSG_ANSENTRY M IPMSG_ANSLIST Ԃ悤ɂ

..&&M-&&I-0.04a  Fri Dec 15 2000
	- ׂẴXgƃJE^tbV@\ǉ
	- verbose [hC

..&&M-&&I-0.03a  Wed Dec 14 2000
	- tbV@\ǉ

..&&M-&&I-0.02a  Wed Dec 14 2000 
	- \tg ipmsgbs.pl  ipmsgex.pl ( IP Messenger Exchange Server ) ֕ύX
	- verbose [hǉ
	- C^NeBu[hǉ
	- usage ǉ

..&&M-&&I-0.01a  Thu Dec 13 2000
	- IWio[W

