CA3045681C

Producing routing messages for voice over ip communications

Abstract

First and second communication participant identifiers are received from a communication¨initiating internet connected device. The second participant identifier is processed to produce a new second participant identifier and the communication is then classified as a system communication or an external network communication, based on the new second participant identifier. If the communication is classified as a system communication, a system routing message including the new second participant identifier is produced. The new second participant identifier identifies an Internet Protocol (IP) address of a network element through which the communication is to be routed. If the communication is classified as an external network communication, an external network routing message including the new second participant identifier is produced. In this case, the new second participant identifier identifies an address of a gateway to an external network through which the communication is established.

CA3045681C, drawing sheet 1
Sheet 1 of 32

Term

1.1 yearsleft in the term

Expires 1 November 2027.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

31 claims: 16 independent, 15 dependent

  1. 1
    EMBODIMENTS IN WHICH AN EXCLUSIVE PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:1. A method of routing a communication in a communication system between an Internet-connected first participant device associated with a first participant and a second participant device associated with a second participant, the method comprising: causing at least one processor to access at least one memory storing a first participant profile identifying at least one first participant attribute;receiving, by the at least one processor, a second participant identifier inputted by the first participant using the first participant device to initiate a communication, the second participant identifier being associated with the second participant device;processing the second participant identifier, based on the at least one first participant attribute obtained from the first participant profile, to produce a new second participant identifier;classifying the communication as a system communication or an external network communication;when the communication is classified as a system communication, producing a system routing message, based on the new second participant identifier, that identifies an Internet Protocol (IP) address of a network element through which the communication is to be routed thereby causing the communication to be established to the second participant device;and Date Reçue/Date Received 2020-10-15 -57when the communication is classified as an external network communication, producing an external network routing message, based on the new second participant identifier, that identifies an address associated with a gateway to an external network thereby causing the communication to the second participant device to be established by use of the gateway to the external network.
  2. 3
    The method of any one of claims 1 or 2, wherein producing the external network routing message causes at least a portion of a path taken by the communication to be established over a circuit switched network that is external to the communication system.
  3. 4
    The method of any one of claims 1 to 3, wherein classifying the communication comprises causing the at least one processor to:determine whether the second participant device is accessible to the communication system over an Internet Protocol (IP) network, and when the second participant device is not accessible over the Internet Protocol (IP) network, classify the communication as an external network communication.
  4. 5
    The method of any one of claims 1 to 3, wherein classifying the communication comprises causing the at least one processor to:Date Reçue/Date Received 2020-10-15 -58determine whether the second participant device is accessible to the communication system over the Internet Protocol (IP) network;when the second participant device is not accessible over an Internet Protocol (IP) network, classify the communication as an external network communication;and when the second participant device is accessible over the Internet Protocol (IP) network, classify the communication as a system communication.
  5. 6
    The method of any one of claims 1 to 5, wherein classifying the communication comprises causing the at least one processor to:determine whether the second participant device is operably configured to communicate via the communication system, and when the second participant device is not operably configured to communicate via the communication system, classify the communication as an external network communication.
  6. 8
    The method of any one of claims 1 to 7, wherein classifying the communication comprises causing the at least one processor to:determine whether a profile associated with the new second participant identifier exists in a database, and when a profile associated with the new second participant identifier does not exist in the database, classify the communication as an external network communication. The method of claim 8, wherein, when a profile associated with the new second participant identifier exists in the database, causing the at least one processor to classify the communication as a system communication. 10. The method of any one of claims 1 to 9, further comprising: processing a plurality of communications from the first participant device to a plurality of communication recipient devices to classify each of the Date Reçue/Date Received 2020-10-15 -60plurality of communications as a system communication or an external network communication;producing a respective plurality of routing messages, based on the classifying of each respective one of the plurality of communications, each respective routing message identifying an Internet Protocol (IP) address of a network element through which the communication is to be routed or identifying an address associated with a gateway to the external network, wherein the gateway to the external network is selected from a plurality of available gateways to the external network;and updating the first participant profile to cause an attribute from the at least one first participant attribute to be modified.
  7. 9
    11. The method of any one of claims 1 to 10, further comprising:processing a user-specific first participant attribute associated with the first participant profile, using the at least one processor, to determine whether a further communication that was initiated by the first participant to a third participant device is allowed to proceed;if the at least one processor determines that the further communication is not allowed to proceed based on the user-specific first participant attribute, preventing the further communication from being established.
  8. 11
    13. The method of claim 11, wherein the at least one first participant attribute comprises at least one location-based first participant attribute that is associated with a local calling area for which the first participant has registered, and wherein the method further comprises:causing the at least one processor to use the at least one location-based first participant attribute to determine whether a third participant identifier inputted by the first participant complies with pre-defined format criteria;and if the third participant identifier does not comply with the pre-defined format criteria, causing the at least one processor to prevent the further communication from being established.
  9. 12
    14. A method of routing a communication in a communication system between an Internet-connected first participant device associated with a first participant and a second participant device associated with a second participant, the method comprising:Date Reçue/Date Received 2020-10-15 -62causing at least one processor to access a first participant profile to load a plurality of first participant attributes into at least one memory;receiving, by the at least one processor, a second participant identifier inputted by the first participant using the first participant device to initiate a communication, the second participant identifier being associated with the second participant device;processing the second participant identifier based on at least one of the plurality of first participant attributes that was loaded into the at least one memory from the first participant profile to produce a new second participant identifier;classifying the communication as a system communication, an external network communication, or a blocked communication;when call blocking information is associated with the new second participant identifier, preventing the communication from being established;when call block information is not associated with the new second participant identifier and the communication is classified as a system communication, producing a system routing message, based on the new second participant identifier, that identifies an Internet Protocol (IP) address of a network element through which the communication is to be routed thereby causing the communication to be established over an Internet Protocol (IP) network;and when call block information is not associated with the new second participant identifier and the communication is classified as an external Date Reçue/Date Received 2020-10-15 -63network communication, producing an external network routing message, based on the new second participant identifier, that identifies an address associated with a gateway to an external network thereby causing at least a portion of a path taken by the communication to be established over a circuit switched network.
  10. 14
    16. The method of claims 14 or 15, wherein classifying the communication comprises causing the at least one processor to:determine whether a profile associated with the new second participant identifier exists in a database, and when a profile associated with the new second participant identifier exists in the database and call blocking information is not associated with the new second participant identifier, classify the communication as a system communication. Date Reçue/Date Received 2020-10-15
  11. 15
    17. The method of any one of claims 1 -16, wherein the communication comprises a voice-over-IP (VoIP) communication.
  12. 16
    18. The method of any one of claims 1 -16, wherein the communication comprises at least one of video data traffic and message traffic.
  13. 17
    19. The method of any one of claims 1-18, wherein at least one of the system routing message and external network routing message is communicated to a call controller to effect routing of the communication.
  14. 18
    20. A computer readable medium encoded with instructions for directing the at least one processor to execute the method of any one of claims 1 to 19.
  15. 19
    21. An apparatus for routing a communication in a communication system between an Internet-connected first participant device and a second participant device, the apparatus comprising:at least one processor operably configured to access at least one memory having processor readable instructions, wherein the at least one processor is operably configured by the processor readable instructions to: access a first participant profile to load, into the at least one memory, a plurality of first participant attributes associated with communications initiated from the first participant device;receive a second participant identifier inputted by the first participant to initiate a communication to the second participant device, the second participant identifier being associated with the second participant device;Date Reçue/Date Received 2020-10-15 -65process the second participant identifier, based on at least one of the plurality of first participant attributes loaded from the first participant profile, to produce a new second participant identifier;classify the communication as a system communication or an external network communication;when the communication is classified as a system communication, produce a system routing message, based on the new second participant identifier, that identifies an Internet Protocol (IP) address of a network element through which the communication is to be routed to the second participant device;and when the communication is classified as an external network communication, produce an external network routing message, based on the new second participant identifier, that identifies an address associated with a gateway to an external network;wherein one of the system routing message or the external network routing message causes the communication to be established to the second participant device.
  16. 21
    23. The apparatus of any one of claims 21 or 22, Date Reçue/Date Received 2020-10-15 -66wherein the external network routing message causes at least a portion of a path taken by the communication to be established over a circuit switched network that is external to the communication system.
  17. 22
    24. The apparatus of claim 22, wherein the at least one processor is operably configured to:determine whether the second participant device is accessible to the communication system over the Internet Protocol (IP) network;when the second participant device is not accessible over the Internet Protocol (IP) network, classify the communication as an external network communication.
  18. 25
    27. The apparatus of any one of claims 21 to 26, wherein the at least one processor is operably configured to:determine whether the second participant device is operably configured to communicate via the communication system;when the second participant device is operably configured to communicate via the communication system, classify the communication as a system communication.
  19. 26
    28. The apparatus of any one of claims 21 to 27, wherein the at least one processor is operably configured to:determine whether a profile associated with the new second participant identifier exists in a database;when a profile associated with the new second participant identifier does not exist in the database, classify the communication as an external network communication. Date Reçue/Date Received 2020-10-15
  20. 27
    29. The apparatus of any one of claims 21 to 27, wherein the at least one processor is operably configured to:determine whether a profile associated with the new second participant identifier exists in a database;when a profile associated with the new second participant identifier exists in the database, classify the communication as a system communication.
Independent claims20