(http://www.cs.cornell.edu/cnrg/telephony/JavaDocs/notes.23feb99.html)
Dial (String, Channel in, Channel out) Dial (String, Channel in, Channel out, int)
Directory lookup on UserID returns a LocationList. Extract the list of IPAdresses contained in this LocationList. [ WAS: Invoke SignalingObserver.chooseUser() to pick one ] Directory lookup on "signalingsrv" returns a LocationList. Extract the list of IPAdresses containing in this LocationList. Merge the 2 lists to get the LocationList of DesktopSignaling objects our UserID might be using to receive the call. INVITE on each Location in turn until you get an ACCEPT; now you know where your peer is. If you run out of Locations, just return null Connection to app. If you get a BUSY packet (see below) go on to the next location.
DesktopSignaling.listen()
method? [no longer an issue; see 2/26/99 about how DesktopSignaling has a separate thread
to listen for input events. If the application wants to make the first move, that's
fine.]