CallerID 1.3.2 (Tapi,XaP, Yac) plugin for xlobby www

Xlobby plugin development

Postby PhilB on Tue Sep 12, 2006 12:27 am

I am going to give this a try over the next few days. I have been using YAC so I am interested in creating a dual function system with XL and YAC.

Here is what I mean:

Server runs XL and YAC-Server in basement. Control via touchscreens and remote control software over wlan. Want the server to use plugin and server-based caller-id database + phone-number lookup if no entry in server database is a match.

Server will also broadcast YAC message on LAN so that YAC listeners will display caller ID based on TAPI data.

If this is clear enough, would you expect any issues? I will post my results.

I appreciate the plugin work you are doing.

Thanks,
PB
PhilB
 
Posts: 283
Joined: Sat Feb 18, 2006 6:38 pm

Postby smarty on Tue Sep 12, 2006 2:17 am

Lasse,
I downloaded and installed your latest plugin version (1.3, from your updated first posting).

In "F2", I configured the plugin such that TAPI was unchecked (disabled) and YAC server was checked. However, I was unsure of what to use in the drop down line (first line). Since I have no telephone line hooked to my machine, I assume I would NOT use the modem listed (56K modem was listed 6 times, is this an error??), and tried to use either the LPT1 or WAN miniport choice.

From another machine on my network, I used YAC software (in server mode) to send out an incoming call information. I verified that my YAC software listeners could recieve this information properly (they displayed the name and number in the same fashion it was sent from the YAC server. Unfortunately, I could not get the XcallerID plugin to respond to this information.

The way a YAC server sends out information is documented here:
http://sunflowerhead.com/software/yac/yac-sdk.htm Does this help?
This is how I sent out my "test" call that I was hoping the plugin could see and display.

As a side note, I did try out your "stand alone" CID listener. Through my YAC server, it was sent "name:George Bush" and "number:210680XXXX". It did respond to this sent information by displaying Name=210680XXX. It looks like it sort of works (it replaced the name with the number, and did not display the sent name).

What might I be doing wrong?

P.S. I did wait at least 120 seconds between test calls.
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Postby lar282 on Tue Sep 12, 2006 6:16 am

I see the mistake...

I coded so if one does not use TAPI it will not sense any yac incoming either. I fixed it and will upload in a bit.(Done, download again)

It does not matter what u have on the line since u are not using tapi. just uncheck the box and u should be fine

Send me the log file after u tried please
mailto:lasse10@telia.com

//Lasse
lar282
 
Posts: 1624
Joined: Thu Apr 01, 2004 4:13 pm
Location: Helsingborg, Sweden

Postby smarty on Tue Sep 12, 2006 10:15 am

Another try....

It still appears that when I send a YAC server generated incoming call message (from a remote machine on my network) that the XcallerID plugin does not seem to "see" it. The sever message generates no entries in the XcallerID.log file what so ever.

Therefore, I wonder if the format by which I am sending the YAC server messages is causing a problem where the plug in does not see them (even though my YAC listerners "see" them OK). I am using the "YACTextSend" program. See here:

++++++++++++++++++++++++++++++++++++++++++++++
http://sunflowerhead.com/software/yac/yac-sdk.htm

From this page I am following the guildlines: "Writing a YAC Listener"

Writing a YAC listener is pretty straightforward. This document assumes that you are using YAC 0.15 or higher on all of your computers or devices; previous versions used a somewhat different protocol that is not described here.

A YAC listener simply listens on TCP port 10629. Although this port can be configured on the server and every current listener, most people will probably use the default port. Still, if you want to make sure your listener works in all scenarios, it might be a good idea to let users choose a non-default port.

When a connection is received, a listener should copy all sent text into a buffer until one of two things happens:

A NULL '\0' character is received.
300 characters are received.
At this point, the listener should close the connection and prepare to display the text on the screen.

YAC can send two kinds of text over the network: Caller ID information, and <=300 character text messages. It is your job to determine what kind of message has been sent and to format it correctly.

A typical Caller ID buffer looks like this: @CALLBush George W.~(212) 555-9384\0

The tag @CALL precedes the Caller ID information. After this tag is the name of the caller and the formatted number, separated by a tilde (~). If either the name or number is not available, that string is omitted, but the tilde will still be present. The listener should strip off the @CALL tag, separate the name and number into separate parts, and display the information in a friendly way to the user. YAC takes care of formatting the name and number to the user's specification before encoding them for the network. Listeners should not assume that the name or number will come in a specific format or be of a specific length (other than that the whole string will be <= 300 characters.)

If the text buffer does not contain both the @CALL tag and a tilde (~), it should not be interpreted as Caller ID information. Instead, this message is a free-text buffer and contains no formatting. For instance, if you send a text message from YAC that says: "Meet me for dinner at 8.", the network buffer will look like this:

Meet me for dinner at 8.\0

As you can see, simple text messages are pretty straightforward. When you receive a text message, you should display the whole message to the user, word wrapping but maintaining line breaks if possible.

In all YAC network traffic, line breaks are sent as CRLF (\r\n), which is the Windows standard. On some operating systems and devices, you might need to remove the carriage returns in order to format the text correctly.
++++++++++++++++++++++++++++++++++++++++++++

NOTE: I have found that my YAC listerners like to recieve calls in the following format:
YacTextSend @callGeorge W. Bush~2105551234

Notice that the "\0" is NOT included at the end of the number. For whatever reason if I include the \0 at the end of the telephone number my YAC listeners then display this as part of the telphone number (which it is not). Could this be part of the issue (I tried it both ways...did not seem to matter).
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Postby lar282 on Tue Sep 12, 2006 10:45 am

Problem is that it works here...

On machine a I have a YAC running and I set up listners in the menu on YAC

On machine B I have xlobby with callerId

I right click on yac on machine A and send message.press ok and Xlobby reacts on machine B

Is the log file complety empty??
C:\Program Files\Xlobby\log\XcallerID.log

Firewall issue?? make sure xlobby2.exe is trusted on xp sp2 firewall

//Lasse
lar282
 
Posts: 1624
Joined: Thu Apr 01, 2004 4:13 pm
Location: Helsingborg, Sweden

Postby smarty on Tue Sep 12, 2006 12:53 pm

I will do more testing tonight....BTW, SP firewall was already off.

You said,
+++++++++++++++++++++++++++++++++++++++++++++
"On machine A, I have a YAC running and I set up listners in the menu on YAC (....not exactly sure what you mean here....)

On machine B I have xlobby with callerId

I right click on yac on machine A and send message.press ok and Xlobby reacts on machine B"
+++++++++++++++++++++++++++++++++++++++++++++
On your machine "A", if YAC was running in listener mode, I don't know how you could send a text message to machine B running Xlobby and the plugin (to me, listen mode on machine A does not seem to allow this).

The log file is not completely empty; it show my configuration changes to disable TAPI and enable the YAC server. It also logs entries if i do a test call look up or test the CID. Would this be of any value to you?

Others.... what am I doing wrong here?????
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Postby lar282 on Tue Sep 12, 2006 12:56 pm

on machine A I have YAC running(the real YAC) and if u right click on the yac icon and choose "Listners" u will get a dialog box where u have to type in the ip adresses of the yac listners on your net. I guess if u do not do this, yac will not send messages to the clients and xlobby will not respond.

alos make sure u DO NOT have yac OR my little standalone application running on the xlobby machine. I think there can only be ONE listner on each machine

//Lasse
lar282
 
Posts: 1624
Joined: Thu Apr 01, 2004 4:13 pm
Location: Helsingborg, Sweden

Postby smarty on Tue Sep 12, 2006 1:09 pm

OK...

That is the configuration that I thought you meant. :lol:



:D That is also my configuration :D !!!! More testing tonight...... :!:
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Postby lar282 on Tue Sep 12, 2006 1:10 pm

wierd
lar282
 
Posts: 1624
Joined: Thu Apr 01, 2004 4:13 pm
Location: Helsingborg, Sweden

Postby lar282 on Tue Sep 12, 2006 6:18 pm

just to check!
Are u using the latest xlobby2.exe and the latest sdk dll?

if not do.


//Lasse
lar282
 
Posts: 1624
Joined: Thu Apr 01, 2004 4:13 pm
Location: Helsingborg, Sweden

Postby PhilB on Tue Sep 12, 2006 8:38 pm

Can you help me understand the database lookup that is going on here. I got this setup and am using the "Test CID" function using XL setup. The overlay pops up but it looks like reverse lookup information and not the information I edited in the XL database.

Does the plugin use the number as the key lookup value? How is it formatted? I tried using just the straight number string but the photo I have in the database never appears.

Thanks,
PB
PhilB
 
Posts: 283
Joined: Sat Feb 18, 2006 6:38 pm

Postby smarty on Wed Sep 13, 2006 12:13 am

Lasse,
Still no luck (I am using the lastest Xlobby2.exe dated 9/9/05 and XpluginSDK.dll dated 9/9/06). When I start up Xlobby and hit 'F2', I highlight the CallerID plugin and press Configure. The plugin comes up with all the proper choices already selected, so I just press Save. The log file below is what is generated.

P.S. I have the regular YAC software shut down (not running), and the windows firewall is disabled. Any idea what the "exception" is caused by or how I could check into this?

Additionally, when you run your test by sending a message from your machine "A", to the Xlobby listener (with IP# configured in YAC sofware on machine "A"), what message do you send? Just a telephone number?, or do you send something like @CALLBush George, W.~(555)222-1234 (not matter...., it does not work either way for me).

If I start the YAC listener on my Xlobby machine (with Xlobby running), and send the same message to my Xlobby machine, YAC DOES SEE what I sent it. ODD!!!! I must not have the plugin configured right......


++++++++++++++++++++++++++++++++++++++++++++
Log File:
9/12/2006 6:43:06 PM seconds set to:5:autoclose:True Use TAPI is set to=False
9/12/2006 6:43:06 PM We will wait around 20 seconds to register the TAPI so Xlobby is really up and running...please wait.
9/12/2006 6:43:06 PM YAC server was TRUE so I will start the server to listnen to yac messages
9/12/2006 6:43:38 PM Gonna reg the TAPI.been 20 sek since XL started and its the fisrt run. I do this cause sometimes the tapi wont 'bite' the modem
9/12/2006 6:43:38 PM registring TAPI IF it is set in the xml file to use!
9/12/2006 6:44:20 PM registring TAPI IF it is set in the xml file to use!
9/12/2006 6:44:20 PM YAC server was TRUE so I will Stop/Start the server to listnen to yac messages on the net
9/12/2006 6:44:20 PM Exception: Only one usage of each socket address (protocol/network address/port) is normally permitted TargetSite: Void DoBind(System.Net.EndPoint, System.Net.SocketAddress)
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Postby smarty on Thu Sep 14, 2006 2:44 am

OK....I'm a bonehead :(

What I was doing wrong was that I did not restart Xlobby after I closed the YAC software. If YAC is closed, and then you start Xlobby fresh, the plugin work great.

Sorry for wasting your valuable time. Your plugin is really appreciated!!!!
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Postby lar282 on Thu Sep 14, 2006 6:30 am

So, to sum it up.

1/ NO Yac software can be running on the machine when XL is started. This is because only ONE server at the same tcp port can be started at the same time.
2/ I still need your logs when a yac phone call(REALL call) is put through. I need to adjust the messages.

And to PhilB
When a call is put through the plugin looks at the .txt files in the
Program Files\Xlobby\plugins\XCallerID\database directory. Id found it reads and put it on the screen. PLUS is checks if there is a picture with the same name as the call. Example 05697654.jpg

You cannot edit the XL database since this is only used to store the values from the above.
Let me know if this makes sence.
//Lasse
lar282
 
Posts: 1624
Joined: Thu Apr 01, 2004 4:13 pm
Location: Helsingborg, Sweden

Postby PhilB on Thu Sep 14, 2006 6:13 pm

Clear enough. Via XL setup, I was able to get the picture and text file content working.

However, the overlay does not appear when an incoming call comes in. I tested the modem making a call outbound and that works.

I have restarted the skin.

I made sure that YAC was not running to be sure that was not causing a problem.

Anything else I should try?
PhilB
 
Posts: 283
Joined: Sat Feb 18, 2006 6:38 pm

PreviousNext