About PUSH

Unanswered Question
Feb 19th, 2009

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!

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 3 (3 ratings)
msabir Thu, 02/19/2009 - 17:17

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

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

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

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

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

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