The download directory is not writeable!

SageTV Community  

Go Back   SageTV Community > Downloads > STVi Imports


Latest Files
Latest Files
Most Popular Files
Most Popular Files
Top Contributors
Top Contributors

Important Information
  • Use these files at your own risk!
  • Enjoy
Main | Category Tree | Stats | Search
Downloads [Download SageInfoPopup - caller ID and message popups]
File Name: SageInfoPopup - caller ID and message popups (703.0 KB) Download
Author: (Uploaded by
Date Added: 12-17-2008
Downloads: 1501
This import will enable your SageTV client or extender to receive and display caller ID messages on screen (using the Y.A.C. caller ID software).
Yes, this works for the HD Extenders!

This plug-in also supports a simple message protocol that can enable other programmatic messaging for custom implementations if you need to display messages in the SageTV GUI.

YAC (Yet Another Caller ID) can be installed on your SageTV server or on another computer in your local network. YAC can use a caller ID capable modem and listen for incoming caller ID information and relay this information to YAC listeners. SageInfoPopup is a plugin running inside the SageTV server that acts as a YAC listener and upon receiving caller ID messages from YAC, will display the information on screen.

This SageTV add-on must attribute significant credit to Nielm's InfoPopup SageTV plugin. Much of the logic and GUI implementation is borrowed from Nielm's project. So why create another InfoPopup plugin? Well, Nielm's InfoPopup was created a number of years ago and with the introduction of the HD extenders, there are some compatibility issues that prevent Nielm's InfoPopup from working properly on the new extenders. There is one significant difference between Nielm's InfoPopup and the shadeBlue SageInfoPopup. With Nielm's InfoPopup, each Sage UI context runs it own socket listener to receive YAC messages, this also means that each Sage UI must be added as a listener in the YAC software. This shadeBlue SageInfoPopup moves the YAC socket listener to the main SageTV server process and simply notifies all connected UI contexts. This means that if you are running multiple extenders, then you only need a single instance of shadeBlue SageInfoPopup and YAC need to only be configured for the single SageTV YAC listener. However, if you are running separate SageTV client instances, then each client instance will need an instance of shadeBlue SageInfoPopup and each client instance will need to be configured as a YAC listener in the YAC software (just as it does using Nielm's InfoPopup).

FAQ (Frequently Asked Questions)

Q: I am already using Nielm's InfoPopup, should I convert to this version?
A: If you are using Nielm's InfoPopup and it currently meets all your needs, then stay with it, don't fix what aint broke

Q: Why would I want to use this plugin versus Nielm's InfoPopup plug-in?
A: The primary reason would be to add caller ID support for the HD extenders.

Q: Can I run both: Nielm's InfoPopup and shadeBlue SageInfoPopup?
A: Yes, but I would suggest you only run one version on each client/server to avoid confusion and avoid overlapping messages. For example, you could run the shadeBlue SageInfoPopup on you SageTV server to facilitate caller ID messaging to your extenders and continue using Nielm's InfoPopup on your client instances.

Q: Does shadeBlue-SageInfoPopup support all the custom settings as Nielm's InfoPopup plug-in?
A: Yes, all of the same settings (and more) are supported. You will need to configure these custom settings under the new shadeBlue properties in the file. See below for a listing of all the supported configuration properties.

Q: Does shadeBlue-SageInfoPopup support custom caller images as does Nielm's InfoPopup plug-in?
A: Yes, custom caller images are supported exactly as they are in Nielm's InfoPopup plug-in using the caller name to resolve the image file. Both JPG and PNG images are supported. The shadeBlue-SageInfoPopup takes it one step further and if an image by the caller name cannot be found it will attempt to use an image named the same as the caller number. Lastly, if you are using a custom program or script to invoke the message prompts, the new protocol messages allows the program/script to specify which image file to load for any given caller ID message or generic message prompt.

Q: Can I include/exclude individual SageTV UI contexts / extenders from getting the message prompts?
A: Yes, you can define a comma separated list of UI contexts in the "shadeBlue/infopopup/ui_context_filter" property to define which specific UI contexts will receive messages. If this property is empty, then the messages are directed to all SageTV UI contexts.

Installation Instructions:
There are just a few steps needed to get this installed on your system.

Download the latest release from here.

1.) Stop the SageTV server.

2.) Copy the following JARs from the downloaded ZIP to your Sage JARs directory: "C:\Program Files\SageTV\SageTV\JARs"
  • mina-core-1.1.7.jar
  • slf4j-api-1.5.5.jar
  • gkusnick.sagetv.jar
  • shadeBlue-SageInfoPopup (version).jar

3.) If you previously had Nielm's InfoPopup STVi installed, I would suggest removing it. If you don't want to completely remove Nielm's InfoPopup STVi, then at least re-configure the following settings in the file to disable the disable the socket listener in the the Nielm plugin for the extenders. (Instead of the extenders each listening for the caller ID notification, the shadeBlue-SageInfoPopup plugin will listen in a central location at the server and then call out and notify all of the extenders.)

4.) Edit your located in "C:\Program Files\SageTV\SageTV" and add the following (or edit if these properties already exist.)

For: load_at_startup_runnable_classes you will need to append "com.shadeblue.sage.InfoPopup.StartListener"

For example, mine looks like this:

The setting above adds my plugin to the SageTV startup routine, giving it a runtime.

Add/edit the following additional settings in this same file:

For the "bind_addr" you can use the actual IP address of the computer network interface you wish to bind to or use "" to restrict the listener to the local loopback interface if you are running YAC on the same PC, or finally, you an use "" which will allow the listener to bind to all network interfaces on the PC. I suggest to start with "" to get up and running and then you can go back and restrict it down later.

For the "port" you can use any port so long as it is not already in use on this computer. The default YAC port is 10629. (If you use a port other than 10629, you will need Nielms modified version of the YAC software to specify listeners on alternate ports. Nielm's custom patched version of the YAC.EXE can be downloaded from this page: Here)

5.) Copy the infopopup_images directory from the ZIP package to:
C:\Program Files (x86)\SageTV\SageTV\infopopup_images
Or if you already have an existing infopopup_images folder, then just copy the image files from the ZIP to this existing folder.

6.) Start the SageTV server and all extenders.

7.) Here we will test to make sure the listener on the server is working. Using the command line (on the SageTV server), type "telnet 10629" and press enter. We are just looking to make sure the connection is established, once connected you can just close the window or press the ENTER key which should disconnect the telnet session.
(It may be necessary to wait 10 to 20 seconds after the service restarts before the telnet connection is successful)

8.) Import the shadeBlue-InfoPopup (version).stvi file from the downloaded ZIP into each of of your extenders STVs. (If you are using SageMC, then you will need to rename the .STVi extension to .XML).

9.) Finally in your YAC software make sure you include a listener address using the ip address of your SageTV server and the port specified in the file.

10.) On the YAC listeners page, there is a test button that should send a test message to all configured YAC listeners, try this and see if the info popup is displayed on your extenders.

At this point if all is configured and running properly then your caller ID popup should work. You can try rebooting the extenders and putting them into and recovering from standby (soft power off) and the caller ID popup should just keep on working

Advanced Settings
shadeBlue/infopopup/message_format_caller_id=Incomming Caller\:{CR}{LF} {CR}{LF}{caller}{CR}{LF}{number}{CR}{LF} {CR}{LF}{description}
shadeBlue/infopopup/message_format_generic_message=\ {CR}{LF} {message}{CR}{LF} {CR}{LF}
shadeBlue/infopopup/unknown_caller=Unknown Caller
shadeBlue/infopopup/unknown_number=Unknown Number

If you have a question on any of these settings, please post it to the support thread.

Supported Message Protocol
If you are creating your own program or script and wish to invoke caller ID messages or generic messages and have then displayed in the SageTV UI, then you can use the following messaging protocol to create the desired message prompts. Your program or script will need to connect to the configured TCP/IP socket, send the ASCII message based on the supported protocol messages below and then disconnect the socket. On disconnect, shadeBlue-SageInfoPopup will process and render the message prompt.

Caller ID Message Protocol
1.) @call{caller_name}~{caller_number}~{description}~{image}~{ui_context}

EXAMPLE: Caller ID Message
@callJohn Doe~123-456-7890

EXAMPLE: Caller ID Message w/ additional descriptive text
@callJohn Doe~123-456-7890~Additional Description

EXAMPLE: Caller ID Message w/ additional descriptive text & specific image
@callJohn Doe~123-456-7890~Additional Description~mobile_phone.png

EXAMPLE: Caller ID Message w/ additional descriptive text, specific image, addressed to a specific UI instance
@callJohn Doe~123-456-7890~Additional Description~mobile_phone.png~SAGETV_PROCESS_LOCAL_UI

Generic Message Protocol
1.) {message}
2.) @message{message}~{image}~{ui_context}

EXAMPLE: Generic Message
Hello World!

EXAMPLE: Generic Message w/ specific image
@messageHello World!~info.png

EXAMPLE: Generic Message w/ specific image addressed to a specific UI instance
@messageHello World!~info.png~SAGETV_PROCESS_LOCAL_UI

Download shadeBlue-SageInfoPopup

Support Thread:
Support & Comments Forum Thread

System Requirements

Release History
Release 1.0.6 (2008-12-16 - BETA RELEASE)
  • initial BETA release
screenshot_small_l68.png by on 12-17-2008
screenshot_Fco.png by on 12-17-2008
screenshot_message_0WT.png by on 12-17-2008
Downloads [Download SageInfoPopup - caller ID and message popups]

DownloadsII 5.1.2 by CyberRanger & Jelle
Based on ecDownloads 4.1 © Ronin

All times are GMT -6. The time now is 06:57 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.

The download directory is not writeable!