you can also use the page visualized by "status.php" on the Ventrilo website to build the channels list as a big help in figuring all the fields returned by the server and how to build the correct channels tree.
example of a "command code 2" reply:
Code:
CHANNELCOUNT: 19
CHANNELFIELDS: CID,PID,PROT,NAME,COMM
CHANNEL: CID=777,PID=0,PROT=0,NAME=1.example Contact Info:,COMM=
CHANNEL: CID=778,PID=0,PROT=1,NAME=2.example Staff:,COMM=
CHANNEL: CID=779,PID=777,PROT=0,NAME=Current Customers:,COMM=
CHANNEL: CID=780,PID=777,PROT=0,NAME=Non Customers:,COMM=
CHANNEL: CID=781,PID=778,PROT=1,NAME=Staff Offices:,COMM=
CHANNEL: CID=782,PID=778,PROT=1,NAME=Conference Rooms,COMM=
CHANNEL: CID=783,PID=779,PROT=0,NAME=Support,COMM=Email: Support@example.com
CHANNEL: CID=784,PID=780,PROT=0,NAME=Sales,COMM=Email: Sales@example.com
CHANNEL: CID=785,PID=780,PROT=0,NAME=Support,COMM=Email: Contact@example.com
CHANNEL: CID=786,PID=781,PROT=1,NAME=Don's Office,COMM=
CHANNEL: CID=787,PID=781,PROT=1,NAME=NixMaster's Office,COMM=
CHANNEL: CID=788,PID=781,PROT=1,NAME=Craig's Office,COMM=
CHANNEL: CID=789,PID=781,PROT=1,NAME=Mark's Office,COMM=
CHANNEL: CID=790,PID=781,PROT=1,NAME=Xavier's Office,COMM=
CHANNEL: CID=791,PID=781,PROT=1,NAME=Anthony's Office,COMM=
CHANNEL: CID=792,PID=781,PROT=1,NAME=Mike's Office,COMM=
CHANNEL: CID=793,PID=782,PROT=1,NAME=Training Room,COMM=
CHANNEL: CID=794,PID=782,PROT=1,NAME=Working Staff,COMM=
CHANNEL: CID=795,PID=782,PROT=1,NAME=Meeting DND,COMM=
CLIENTCOUNT: 0
where you have:
CID: the id of the channel
PID: the parent ID, so the main channel to which it's owned
PROT: 0 for public channels, 1 for those limited or password protected (red)
NAME: name of the channel
so in the example I posted you will have the following tree:
Code:
Lobby
1.example Contact Info:
Current Customers:
Support (Email: Support@example.com)
Non Customers:
Sales (Email: Sales@example.com)
Support (Email: Contact@example.com)
2.example Staff:
Staff Offices:
Don's Office
NixMaster's Office
Craig's Office
Mark's Office
Xavier's Office
Anthony's Office
Mike's Office
Conference Rooms
Training Room
Working Staff
Meeting DND
this is what I figured in some minutes while replying to your post for providing an example, so come on :)