System and method for using software defined networking in internet protocol multimedia subsystems
AssigneeAT&T Intellectual Property I, L.P.
InventorsReuben Klein, Brian Dean Freeman, Larry B. Pearson, Leopold B. Strahs
Life of this patent
Estimating the term…
Abstract
Software Defined Networking (SDN) is used in IMS in order to provide a mechanism to forward (Internet Protocol) IP packets and provide a simplified solution to the complex signaling path of IMS according to directives from an SDN Controller. SDN is used in at least three particular scenarios. In the first scenario, communications are simplified using SDN directed signaling disaggregation. In the second scenario, SDN is used to direct media function chaining. In the third scenario, the system can be used as an SDN based media relay.
Claims20
A method for software defined networking in an internet protocol multimedia subsystem, the method comprising:
- receiving a request from a first client associated with an internet protocol address, wherein the first client is unknown to a registration server of the internet protocol multimedia subsystem;
- updating a forwarding table stored on a software defined networking controller of the internet protocol multimedia subsystem in response to the request, the updating comprising:
- mapping a processing server to the internet protocol address based on addressing properties of future packets from the first client to be directed to the processing server, the addressing properties comprising port information associated with the first client, wherein the mapping causes the processing server to replace the registration server in the forwarding table;
- instantiating a processing service at the processing server;
- receiving a request from the first client to establish communication with a second client;
- establishing communication from the first client to the second client via the processing service in response to the request from the first client to establish communication with the second client, wherein the establishing communication from the first client to the second client comprises establishing a first telephone call;
- determining that an additional processing service is required for the first telephone call;
- instantiating the additional processing service required for the first telephone call in response to the determining;
- receiving an invite message from a third client directed towards the first client to establish a second telephone call between the third client and the first client after termination of the first telephone call;
- searching a registrar to check if the first client is available and to retrieve the internet protocol address of the first client;
- creating a relay port for the third client included in the invite message;
- providing forwarding table configuration instructions to map each internet protocol address and port combination to the relay port;
- determining that no additional processing services are required for the second telephone call;
- receiving an accept message to the invite message from the first client;
- and
- sending media from the third client to a relay for delivery to the first client.
An apparatus comprising:
- a processor;
- and
- a memory to store computer program instructions for software defined networking in an internet protocol multimedia subsystem, the computer program instructions when executed on the processor cause the processor to perform operations, the operations comprising:
- receiving a request from a first client associated with an internet protocol address, wherein the first client is unknown to a registration server of the internet protocol multimedia subsystem;
- updating a forwarding table stored on a software defined networking controller of the internet protocol multimedia subsystem in response to the request, the updating comprising:
- mapping a processing server to the internet protocol address based on addressing properties of future packets from the first client to be directed to the processing server, the addressing properties comprising port information associated with the first client, wherein the mapping causes the processing server to replace the registration server in the forwarding table;
- instantiating a processing service at the processing server;
- receiving a request from the first client to establish communication with a second client;
- establishing communication from the first client to the second client via the processing service in response to the request from the first client to establish communication with the second client, wherein the establishing communication from the first client to the second client comprises establishing a first telephone call;
- determining that an additional processing service is required for the first telephone call;
- instantiating the additional processing service required for the first telephone call in response to the determining;
- receiving an invite message from a third client directed towards the first client to establish a second telephone call between the third client and the first client after termination of the first telephone call;
- searching a registrar to check if the first client is available and to retrieve the internet protocol address of the first client;
- creating a relay port for the third client included in the invite message;
- providing forwarding table configuration instructions to map each internet protocol address and port combination to the relay port;
- determining that no additional processing services are required for the second telephone call;
- receiving an accept message to the invite message from the first client;
- and
- sending media from the third client to a relay for delivery to the first client.
A non-transitory computer readable medium storing computer program instructions for software defined networking in an internet protocol multimedia subsystem, the computer program instructions, when executed on a processor, cause the processor to perform operations, the operations comprising:
- receiving a request from a first client associated with an internet protocol address, wherein the first client is unknown to a registration server of the internet protocol multimedia subsystem;
- updating a forwarding table stored on a software defined networking controller of the internet protocol multimedia subsystem in response to the request, the updating comprising:
- mapping a processing server to the internet protocol address based on addressing properties of future packets from the first client to be directed to the processing server, the addressing properties comprising port information associated with the first client, wherein the mapping causes the processing server to replace the registration server in the forwarding table;
- instantiating a processing service at the processing server;
- receiving a request from the first client to establish communication with a second client;
- establishing communication from the first client to the second client via the processing service in response to the request from the first client to establish communication with the second client, wherein the establishing communication from the first client to the second client comprises establishing a first telephone call;
- determining that an additional processing service is required for the first telephone call;
- instantiating the additional processing service required for the first telephone call in response to the determining;
- receiving an invite message from a third client directed towards the first client to establish a second telephone call between the third client and the first client after termination of the first telephone call;
- searching a registrar to check if the first client is available and to retrieve the internet protocol address of the first client;
- creating a relay port for the third client included in the invite message;
- providing forwarding table configuration instructions to map each internet protocol address and port combination to the relay port;
- determining that no additional processing services are required for the second telephone call;
- receiving an accept message to the invite message from the first client;
- and
- sending media from the third client to a relay for delivery to the first client.
Dependencies are inferred from the claim text.