About PUSH

Unanswered Question
Feb 19th, 2009
User Badges:

Hi all,

Is there any one faced problem Broadcast message (Push) to IPPhones, say 30 machines wih IIS 6.1, .Net 2.0?

I found that take very long time. Is there any way to improve the performance?

Or, can we discard the authenticate, becasue it's need to authenticate everytime to send (I use one name associate to all phone)

thank a lot!

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 3 (3 ratings)
msabir Thu, 02/19/2009 - 17:17
User Badges:
  • Bronze, 100 points or more

You can use your own authentication by changing the default authentication URL in CUCM. Also, use multi-threading to improve performance -- instead of loop through phones, push to all of them at the same time.

ray_skynet Mon, 03/02/2009 - 23:11
User Badges:

After investigate, I found that the table contains IPPhone for broadcast that we use in our application, has some records that do not existing in the system, so, when loop to send all, http request will wait until timeout.

However, I found that if I set the Timeout for broadcast any message less than 500 ms, It always return timeout wether the Push message send to the phone or not.

msabir Tue, 03/03/2009 - 14:48
User Badges:
  • Bronze, 100 points or more

You can use this:

1. Before creating a list of phones to push, make sure each phone has a valid IP and its registration status is "registed" in CUCM (you can retrieve that info via AXL). This will eliminate "bad" phones.

2. Use time-out for HTTP connection (if you are using HTTP for pushing).

3. Use multi-threading, so instead of waiting 500ms on each phone, it waits 500ms collectively (in each thread).

I do have sample code, but it is in Java.

ray_skynet Tue, 03/03/2009 - 22:49
User Badges:

I already do like you advice except the firs one. Because to use AXL is high cost for each call whe push. So, I check every time the endpoint connect to the system, I will stamp to the DB. When need to broadcast, I look for each record and retrive the IP. The problem is if the system config to use DHCP and the EXT are change, the system did not know (Ext is the primary key, and candidate key is IP). In worst case, at my customer or ever my office, the IP change everyd day. Becaude the leastime for renew IP cannot changed (it's depend on Netework Administrator).

I sovle the problem by try to fix the table by if timeout, I will mark as incorrect, and the auto service will fill the right IP.

msabir Wed, 03/04/2009 - 06:56
User Badges:
  • Bronze, 100 points or more

You are right about AXL being a high cost look-up. In our application (paging, text notification, weather and Amber alert, etc.) we pull the phone list via AXL and save it locally and then have a scheduled synch where user can configure the synchronization schedule -- 30 mins, 2 hrs, etc. Most of our customers are running DHCP and we have not heard any complaint about the phone list not being "real time". We use MAC address as primary key for group management.

stephan.steiner Tue, 03/10/2009 - 01:17
User Badges:
  • Silver, 250 points or more

Use (J)TAPI and all those IP address considerations become moot (along with the device authentication) ;) And as an added bonus you know if a device is available or not, and you could have a listener that checks for the events fired when a device comes online so as to push the message the next time the device comes online.


This Discussion