A system for providing communications services in a communications network (106, 124, 126), comprising: one or more servers (142, 144, 108, 110, 112, 114) that interface to the communications network to provide communications services for a plurality of user devices, wherein the communications services comprise a Push-To-Talk, PTT, call session; wherein the one or more servers and the plurality of user devices are configured to communicate with each other using control messages within the communications network, and a first server of the one or more servers is configured to switch media streams comprising voice messages for the communications services between the plurality of user devices across the communications network, wherein one or more ports of the first server are pre-allocated before the PTT call session is setup; and wherein a first user device of the plurality of user devices is configured to communicate with the first server during the PTT call session using a Web Real-Time Communication, WebRTC, connection, wherein the first user device is configured to maintain a persistent WebSockets connection with the first server for the WebRTC connection during the PTT call session, wherein the media streams for the PTT call session are transmitted between the first user device and the first server using the WebRTC connection, and wherein the first user device is configured to implement a modification to a Trickle Interactive Connectivity Establishment, ICE, method in which the first user device is configured to use a Traversal Using Relay Network Address Translation, TURN, server to proceed with an initial PTT call setup without waiting for a candidate gathering process to complete. one or more servers (142, 144, 108, 110, 112, 114) that interface to the communications network to provide communications services for a plurality of user devices, wherein the communications services comprise a Push-To-Talk, PTT, call session; wherein the one or more servers and the plurality of user devices are configured to communicate with each other using control messages within the communications network, and a first server of the one or more servers is configured to switch media streams comprising voice messages for the communications services between the plurality of user devices across the communications network, wherein one or more ports of the first server are pre-allocated before the PTT call session is setup; and wherein a first user device of the plurality of user devices is configured to communicate with the first server during the PTT call session using a Web Real-Time Communication, WebRTC, connection, wherein the first user device is configured to maintain a persistent WebSockets connection with the first server for the WebRTC connection during the PTT call session, wherein the media streams for the PTT call session are transmitted between the first user device and the first server using the WebRTC connection, and wherein the first user device is configured to implement a modification to a Trickle Interactive Connectivity Establishment, ICE, method in which the first user device is configured to use a Traversal Using Relay Network Address Translation, TURN, server to proceed with an initial PTT call setup without waiting for a candidate gathering process to complete.