1461131878-5b6acf60-48d1-42a0-8c6d-9f0cbad536ca

1. A method of routing SIP calls, the method comprising:
performing a latency measurement for at least a portion of a first network path, including a first call manager, and storing corresponding latency measurement information in computer readable memory;
performing a dropped packet measurement for at least a portion of the first network path and storing corresponding dropped packet measurement information in computer readable memory;
performing a latency measurement for at least a portion of a second network path, including a second call manager, and storing corresponding latency measurement information in computer readable memory;
performing a dropped packet measurement for at least a portion of the first network path and storing corresponding dropped packet measurement information in computer readable memory;
receiving at a first SIP proxy a notification from a second SIP proxy of an incoming call, wherein the second SIP proxy is associated with a SIP service provider;
selecting one of the first and second call managers to process the incoming call based at least in part on the latency measurement information and the dropped packet measurement information, wherein the selected call manager is configured to perform one or more of call answering and message recording, call screening, call forwarding, call bridging, or call conferencing applications; and
receiving at the selected call manager call media associated with the incoming call from a media gateway associated with the SIP service provider.
2. The method as defined in claim 1, wherein the media is packetized voice media.
3. The method as defined in claim 1, wherein the media is packetized data media.
4. The method as defined in claim 1, wherein the selected call manager had no dropped packets during the dropped packet measurement and had a greater measured latency than a non-selected call manager.
5. The method as defined in claim 1, wherein the selected call manager is selected based in part on the media type.
6. The method as defined in claim 1, wherein the selected call manager is selected based in part on the priority of the caller or the called party.
7. The method as defined in claim 1, wherein the selected call manager is selected based in part on the availability of the first and second call managers.
8. The method as defined in claim 1, wherein the selected call manager is selected based on the available network bandwidth from the selected call manager to the media gateway.
9. The method as defined in claim 1, wherein the first SIP proxy performs the call manager selection.
10. The method as defined in claim 1, wherein the first SIP proxy is operated by the selected call manager operator.
11. The method as defined in claim 1, wherein the inbound call is directed to a phone number associated with an operator of the selected call manager.
12. The method as defined in claim 1, wherein the latency measurement is performed at least in part using an echo canceller.
13. The method as defined in claim 1, wherein the latency measurement is performed at least in part by pinging the media gateway with the first call manager and with the second call manager.
14. The method as defined in claim 1, wherein the latency measurement is performed at least in part by transmitting packets between the media gateway and the first call manager and between the media gateway and the second call manager, and using the number of packet bytes transmitted and the time elapsed for the packets to pass between the media gateway and the first call manager and between the media gateway and the second call manager.
15. The method as defined in claim 1, wherein the latency measurement is performed at least in part by measuring a time related to receiving a DTMF tone from the media gateway.
16. The method as defined in claim 1, wherein the dropped packet measurement is performed at least in part by detecting discontinuities in packet time stamps.
17. The method as defined in claim 1, wherein the dropped packet measurement is performed at least in part by detecting discontinuities in a DTMF tone.
18. A method of routing calls transmitted over a network, the method comprising:
performing a latency measurement andor a dropped packet measurement for at least portions of a plurality of network paths and storing latency measurement information in computer readable memory
receiving a call origination request at a call processing system;
selecting a network routing path from the plurality of network paths based at least in part on the latency measurement information or the dropped packet measurement information, or both the latency measurement information and the dropped packet measurement information;
informing an IP service provider of the call; and
causing a call processing system in the selected network path to generate the call.
19. The method as defined in claim 18, wherein the plurality of network paths include the call processing system, and the call processing system is configured to perform a call bridging operation.
20. The method as defined in claim 18, wherein the routing path is selected in part based on a media type to be transmitted via the call, wherein the media type is voice or data.
21. The method as defined in claim 18, wherein the selected routing path had no dropped packets during the dropped packet measurement and had a greater measured latency than a non-selected routing path.
22. The method as defined in claim 18, wherein the selected routing path is selected based in part on the media type.
23. The method as defined in claim 18, wherein a SIP proxy operated by the operator of the call manager performs the call manager selection.
24. The method as defined in claim 18, further comprising predicting which IP service provider media gateway will be used to receive the call from the call manager in the selected routing path based at least in part on a phone number to which the call is directed.
25. The method as defined in claim 18, wherein the latency measurement is performed at least in part using an echo canceller.
26. The method as defined in claim 18, wherein the latency measurement is performed at least in part by pinging a media gateway with a first call manager and with a second call manager.
27. The method as defined in claim 18, wherein the latency measurement is performed at least in part by transmitting packets between the media gateway and a first call manager and between a media gateway and a second call manager, and using the number of packet bytes transmitted and the time elapsed for the packets to pass between the media gateway and the first call manager and between the media gateway and the second call manager.
28. The method as defined in claim 18, wherein the dropped packet measurement is performed at least in part by detecting discontinuities in packet time stamps.
29. The method as defined in claim 18, wherein the dropped packet measurement is performed at least in part by detecting discontinuities in a DTMF tone.
30. A method of routing calls transmitted over a network, the method comprising:
performing a latency andor a dropped packet measurement for at least portions of a plurality of network paths and storing latency measurement information in computer readable memory, wherein the network paths include a corresponding call manager configured to perform one or more of call answering and message recording, call screening, call forwarding, call bridging or call conferencing applications;
receiving an inbound call at a call processing system;
selecting a network routing path from the plurality of network paths based at least in part on the latency measurement information and the dropped packet measurement information; and
causing the call manager in the selected network path to answer the call.
31. The method as defined in claim 29, wherein the routing path is selected in part based on a media type to be transmitted via the call, wherein the media type is voice or data.
32. The method as defined in claim 29, wherein the selected routing path had no dropped packets during the dropped packet measurement and had a greater measured latency than a non-selected routing path.
33. The method as defined in claim 29, wherein the selected routing path is selected based in part on the media type.
34. The method as defined in claim 29, wherein a SIP proxy operated by the operator of the call manager performs the call manager selection.
35. The method as defined in claim 29, further comprising predicting which IP service provider media gateway will be used to receive the call from the call manager in the selected routing path based at least in part on a phone number to which the call is directed.
36. The method as defined in claim 29, wherein the latency measurement is performed at least in part using an echo canceller.
37. The method as defined in claim 29, wherein the latency measurement is performed at least in part by pinging a media gateway with a first call manager and with a second call manager.
38. The method as defined in claim 29, wherein the latency measurement is performed at least in part by transmitting packets between the media gateway and a first call manager and between a media gateway and a second call manager, and using the number of packet bytes transmitted and the time elapsed for the packets to pass between the media gateway and the first call manager and between the media gateway and the second call manager.
39. The method as defined in claim 29, wherein the dropped packet measurement is performed at least in part by detecting discontinuities in packet time stamps.
40. The method as defined in claim 29, wherein the dropped packet measurement is performed at least in part by detecting discontinuities in a DTMF tone.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for calculating a combined impact analysis repository comprising:
accessing at least two impact analysis repositories comprising transactions;
obtaining a transaction-refinement index for each of the impact analysis repositories;
associating the combined repository with information from the most transaction refined impact analysis repository according to the obtained transaction-refinement index;
associating the combined repository with information from the less transaction refined impact analysis repository in the case of a request to insert or delete a table record for tables that do not contain any impacted transaction in the more transaction refined impact analysis repository; and
associating the combined repository with information from the less transaction refined impact analysis repository in the case of a request to update a table record for table columns that do not contain any impacted transaction in the more transaction refined impact analysis repository;
wherein the step of obtaining the transaction-refinement index comprises calculating the transaction-refinement index by comparing the average number of impacted transactions per at least one of the following: database column for requests to update table records, or database table for request to insert or delete table records.
2. The method of claim 1, further comprising the steps of associating the combined repository with a first predefined amount of information from the less transaction refined impact analysis repository for a request to insert or delete a table record for tables that contain less than a second predefined amount of impacted transactions in the more transaction refined impact analysis repository; and associating the combined repository with a third predefined amount of information from the less transaction refined impact analysis repository for a request to update a table record for table columns that contain less than a fourth predefined amount of impacted transactions in the more transaction refined impact analysis repository.
3. A method for obtaining a combined impact analysis repository comprising:
accessing at least two impact analysis repositories comprising transactions and externally-visible output statements impacted in each transaction;
obtaining a statement-refinement index for each of the impact analysis repositories; and
obtaining a combined impact analysis repository by associating, for each transaction impacted by a predefined change request, the externally-visible output statements with the impacted transactions from the more statement-refined impact analysis repository;
wherein the step of obtaining the statement-refinement indices for the impact analysis repositories comprises calculating the statement-refinement index for the impact analysis repositories by comparing the average number of externally-visible output statements per transaction in each of the impact analysis repositories;
wherein the predefined change request is a request to update, insert, or delete a table record and the step of obtaining the statement-refinement indices for the impact analysis repositories comprises calculating the statement-refinement index for the impact analysis repositories by comparing the average number of externally-visible output statements, per each transaction, affected by the requests to update, insert, or delete a table record, in each of the impact analysis repositories.
4. The method of claim 3, further comprising the step of receiving user feedback about the accuracy of the combined impact analysis repository.
5. The method of claim 4, further comprising the step of utilizing the received user feedback for improving the statement-refinement index.