CN112333344A - Line proxy method, device, proxy server and storage medium - Google Patents

Line proxy method, device, proxy server and storage medium Download PDF

Info

Publication number
CN112333344A
CN112333344A CN202110000698.7A CN202110000698A CN112333344A CN 112333344 A CN112333344 A CN 112333344A CN 202110000698 A CN202110000698 A CN 202110000698A CN 112333344 A CN112333344 A CN 112333344A
Authority
CN
China
Prior art keywords
line
resource
prefix string
database
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110000698.7A
Other languages
Chinese (zh)
Other versions
CN112333344B (en
Inventor
方程
梁鹏斌
韩亚昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lingxi Beijing Technology Co Ltd
Original Assignee
Lingxi Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lingxi Beijing Technology Co Ltd filed Critical Lingxi Beijing Technology Co Ltd
Priority to CN202110000698.7A priority Critical patent/CN112333344B/en
Publication of CN112333344A publication Critical patent/CN112333344A/en
Application granted granted Critical
Publication of CN112333344B publication Critical patent/CN112333344B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0066Details of access arrangements to the networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0081Network operation, administration, maintenance, or provisioning
    • H04M7/0087Network planning or provisioning

Abstract

The application provides a line agent method, a line agent device, a line agent server and a storage medium, which are used for solving the problem that a call request cannot be responded due to insufficient memory resources caused by large occupied resources of a line agent. The method comprises the following steps: receiving a VoIP call request based on internet protocol sent by a first terminal, and extracting a universal unique identification code from the call request; if the first prefix string is identified from the universal unique identification code, extracting the routing information from the universal unique identification code, wherein the first prefix string is an identification string of the line agent; if a second prefix string is identified from the routing information, the routing information is divided into the second prefix string and the telephone number, and the second prefix string is an identification string of the line demand party; and acquiring the target line resource according to the second prefix string, and calling a second terminal corresponding to the telephone number by using the target line resource so as to realize line proxy.

Description

Line proxy method, device, proxy server and storage medium
Technical Field
The present application relates to the field of computer networks and network communications technologies, and in particular, to a line proxy method, apparatus, proxy server, and storage medium.
Background
Voice over Internet Protocol (VoIP) is a Voice call technology, and a Voice call and a multimedia conference are achieved through an Internet Protocol (IP), that is, communication is performed through the Internet; other informal names are IP phone, internet phone, broadband phone service, etc.
An IP-based Operating System (VOS), also called a voice over IP Operating System, is a support System provided for medium and small-scale VoIP operation services, and the VOS that can be used includes: VOS2009 and VOS3000, etc.
At present, the idea of implementing a line agent is mostly developed and customized based on a telephone traffic wholesale function in the VOS, however, it is found in the developing and customizing process of the VOS that a server needs to consume a large amount of memory resources when loading the VOS in order to enable the VOS to operate normally, and under the condition that the memory resources are seriously insufficient, many call requests of the line agent cannot respond.
Disclosure of Invention
An object of the embodiments of the present application is to provide a line proxy method, an apparatus, a proxy server, and a storage medium, which are used to solve the problem that a call request cannot be responded due to insufficient memory resources caused by a large occupied resource of a line proxy.
The embodiment of the application provides a line proxy method, which is applied to a proxy server and comprises the following steps: receiving a VoIP call request based on internet protocol sent by a first terminal, and extracting a universal unique identification code from the call request; if the first prefix string is identified from the universal unique identification code, extracting the routing information from the universal unique identification code, wherein the first prefix string is an identification string of the line agent; if a second prefix string is identified from the routing information, the routing information is divided into the second prefix string and the telephone number, and the second prefix string is an identification string of the line demand party; and acquiring the target line resource according to the second prefix string, and calling a second terminal corresponding to the telephone number by using the target line resource so as to realize line proxy. In the implementation process, whether a line needs to use a line agent or not is distinguished by using the prefix string, and different line demand parties are distinguished to implement the line agent to replace part of functions in the VOS, so that the condition that the VOS is loaded to occupy a large amount of memory resources to cause insufficient memory resources is avoided, and the transmission efficiency of the line agent is effectively improved.
Optionally, in this embodiment of the application, after extracting the universal unique identifier from the call request, the method further includes: if the first prefix string is not identified from the universally unique identifier, the call request is rejected. In the implementation process, the call request without the first prefix string in the universal unique identification code is rejected, so that the problem of insufficient memory resources caused by memory resources occupied by the call request without the first prefix string in the universal unique identification code is solved, and the transmission efficiency of the line agent is effectively improved.
Optionally, in this embodiment of the present application, acquiring the target line resource according to the second prefix string includes: and searching a target line resource meeting preset conditions from the line resources of the database, wherein the preset conditions are that the concurrence number of the target line resource is less than a preset threshold value, and the prefix string corresponding to the target line resource is a second prefix string. In the implementation process, the target line resource meeting the condition that the concurrency number of the target line resource is smaller than the preset threshold value and the like is searched from the line resources of the database, so that the problem of insufficient memory resources caused by the use of the target line resource with a large concurrency number is solved, and the transmission efficiency of the line agent is effectively improved.
Optionally, in an embodiment of the present application, the database includes: a relational database and a cache database; the method for searching the target line resource meeting the preset condition from the line resources of the database comprises the following steps: judging whether a first concurrency number corresponding to the line resource in the cache database is smaller than a second concurrency number corresponding to the line resource in the relational database; and if so, determining the line resource as the target line resource.
Optionally, in this embodiment of the present application, finding a target line resource that meets a preset condition from line resources in a database includes: judging whether a plurality of line resources in a database meet preset conditions or not; and if so, determining the randomly selected line resource in the line resources as the target line resource.
Optionally, in this embodiment of the present application, finding a target line resource that meets a preset condition from line resources in a database includes: acquiring a line resource from the line resources of the database, and acquiring the concurrency number of the line resource; and if the concurrency number of the line resources is smaller than the preset threshold, determining the line resources with the concurrency number smaller than the preset threshold as the target line resources. In the implementation process, the line resource with the concurrency number smaller than the preset threshold value is selected as the target line resource, so that the problem of insufficient memory resources caused by the use of the target line resource with a large concurrency number is solved, and the transmission efficiency of the line agent is effectively improved.
Optionally, in an embodiment of the present application, the database includes: a relational database and a cache database; obtaining a line resource from the line resources of the database, comprising: judging whether the line resource is obtained from the buffer database according to the unique identifier of the line resource; if not, obtaining the line resources from the relational database. In the implementation process, the line resources in the relational database are cached by using the cache database, so that the reading and writing times of the relational database are reduced, the principle that the reading speed of the cache database is higher than that of the relational database is utilized, the acquisition speed of the line resources is effectively improved, and the transmission efficiency of the line agent is improved.
Optionally, in this embodiment of the application, after extracting the universal unique identifier from the call request, the method further includes: and performing line bridging on the first terminal and the second terminal according to the universal unique identification code. In the implementation process, the first terminal and the second terminal are subjected to line bridging according to the universal unique identification code, so that another implementation idea is provided for the implementation of line bridging.
An embodiment of the present application further provides a line agent apparatus, including: the call request receiving module is used for receiving a VoIP call request which is sent by a first terminal and is based on internet protocol and voice transmission, and extracting a universal unique identification code from the call request; the route information extraction module is used for extracting route information from the universal unique identification code if a first prefix string is identified from the universal unique identification code, wherein the first prefix string is an identification string of the line agent; the routing information segmentation module is used for segmenting the routing information into a second prefix string and a telephone number if the second prefix string is identified from the routing information, wherein the second prefix string is an identification string of a line demand party; and the line agent realization module is used for acquiring the target line resource according to the second prefix string and calling the second terminal corresponding to the telephone number by using the target line resource so as to realize line agent.
Optionally, in this embodiment of the present application, the line agent apparatus further includes: and the call request rejecting module is used for rejecting the call request if the first prefix string is not identified from the universal unique identification code.
Optionally, in an embodiment of the present application, the line agent implementing module includes: and the target line searching module is used for searching the target line resource meeting preset conditions from the line resources of the database, wherein the preset conditions are that the concurrence number of the target line resource is less than a preset threshold value, and the prefix string corresponding to the target line resource is a second prefix string.
Optionally, in this embodiment of the present application, the target route searching module includes: the preset condition judgment module is used for judging whether the plurality of line resources in the database all meet preset conditions; and the target line determining module is used for determining the randomly selected line resource in the line resources as the target line resource if the line resources in the database all meet the preset condition.
Optionally, in this embodiment of the present application, the target route searching module includes: the concurrency value acquisition module is used for acquiring a line resource from the line resources of the database and acquiring the concurrency number of the line resource; and the target resource determining module is used for determining the line resource with the concurrency number smaller than the preset threshold as the target line resource if the concurrency number of the line resource is smaller than the preset threshold.
Optionally, in an embodiment of the present application, the database includes: a relational database and a cache database; a line resource acquisition module comprising: the line resource judging module is used for judging whether the line resource is obtained from the buffer database according to the unique identifier of the line resource; and the line resource acquisition module is used for acquiring the line resource from the relational database if the line resource is not acquired from the cache database according to the unique identifier of the line resource.
Optionally, in this embodiment of the present application, the line agent apparatus further includes: and the line bridging performing module is used for performing line bridging on the first terminal and the second terminal according to the universal unique identification code.
An embodiment of the present application further provides a proxy server, including: a processor and a memory, the memory storing processor-executable machine-readable instructions, the machine-readable instructions when executed by the processor performing the method as described above.
Embodiments of the present application also provide a storage medium having a computer program stored thereon, where the computer program is executed by a processor to perform the method as described above.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and that those skilled in the art can also obtain other related drawings based on the drawings without inventive efforts.
Fig. 1 is a schematic flow chart of a line agent system provided in an embodiment of the present application;
fig. 2 is a schematic flow chart of a line agent method provided in an embodiment of the present application;
fig. 3 is a schematic diagram illustrating a processing procedure of a universal unique identification code provided in an embodiment of the present application;
fig. 4 is a schematic structural diagram of a line agent apparatus according to an embodiment of the present application.
Detailed Description
The technical solution in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application.
Before introducing the line agent method provided in the embodiment of the present application, some concepts related to the embodiment of the present application are introduced:
proxy Server (Proxy Server), which is a Server for Proxy network users to obtain network information; the proxy server is a transfer station of network information, an intermediate proxy mechanism between a source host and a destination host, for example, an intermediate proxy mechanism between a host in a personal network and a server of an Internet (Internet) service provider, and is responsible for forwarding legal network information, controlling and registering the forwarding.
Freeswitch is a free and open-source software-based telephone exchange, also understood to be a soft-switching system that communicates using an IP network; by adopting the Mozilla Public License (MPL) authorization protocol, the core library libfreeswitch of FreeWITCH can be embedded in other systems or products, and can also exist as a single application.
Session Initiation Protocol (SIP), also known as Session Initiation Protocol, is a multimedia communication Protocol established by the Internet Engineering Task Force (IETF), a text-based application-layer control Protocol, proposed as a standard for creating, modifying and terminating interactive user sessions involving various multimedia elements including video, voice, instant messaging, online games, virtual reality, and the like.
Please refer to fig. 1, which is a schematic flow chart of a line agent system according to an embodiment of the present application; the line agent system herein may include: the system comprises a proxy server, a first terminal and a second terminal; the proxy server is a server used by a line agent, the proxy server is communicated with a first terminal of a line demand party through the internet, the first terminal can send a VoIP call request to the proxy server, the proxy server is communicated with a second terminal corresponding to a telephone number in the call request, specifically, the proxy server can use line resources of the line demand party to call the second terminal corresponding to the telephone number, and after the second terminal answers the call request, communication connection between the first terminal and the second terminal can be established. For collaborating with line providers and the like. The line proxy method provided by the embodiment of the present application may be executed by the above proxy server, where the proxy server refers to a server having a function of executing a computer program.
The line agent method provided by the embodiment of the application can be applied to a proxy server, namely, the proxy server executes the method, and the line agent method has the main idea that whether a line needs to use a line agent or not is distinguished by using prefix strings, and different line demand parties are distinguished to realize line agents to replace partial functions in a VOS, so that the condition that a large amount of memory resources are occupied by loading the VOS to cause insufficient memory resources is avoided, and the transmission efficiency of the line agent is effectively improved.
Please refer to fig. 2, which is a schematic flow chart of a line agent method according to an embodiment of the present application; the above-mentioned proxy server may be developed based on FreeS WITCH to implement various functions of a line proxy method, which may include:
step S110: the proxy server receives a VoIP call request based on Internet protocol sent by the first terminal, and extracts a universal unique identification code from the call request.
The Universal Unique Identifier (UUID) refers to an Identifier for identifying information in a computer system, and the UUID is independent of registration and allocation of a central authority, and can be understood as a character string with global uniqueness.
The embodiment of step S110 described above is, for example: the method comprises the steps that a first terminal sends a VoIP calling request to a proxy server through the Internet, the proxy server receives the VoIP calling request sent by the first terminal, and after receiving the VoIP calling request, the proxy server extracts a universal unique identification code UUID from the calling request; it should be noted that the UUID in the embodiment has two cases: in the first case, if the VoIP call request is sent by the line demander, the UUID must include a prefix string, for example: suppose the UUID is 2020jd152 x 8888, where 2020 is the first prefix string, jd is the second prefix string, and 152 x 8888 is the phone number; in the second case, if the VoIP call request is not sent by the line demander but by the normal calling subscriber, the UUID must not include the prefix string, for example: the UUID sent by the normal calling subscriber is 152 x 8888 equal telephone number. Since the proxy server can only allow the business use of the line demand party and does not allow the use of the ordinary calling user, the call request sent by the ordinary calling user can be directly rejected.
After step S110, step S120 is performed: if the first prefix string is identified from the universally unique identification code, the proxy server extracts the routing information from the universally unique identification code.
The embodiment of step S120 described above is, for example: judging whether the first prefix string is identified from the universal unique identification code, wherein the specific identification modes include a plurality of modes: a first recognition mode, such that the first letter is sequentially matched from front to back, specifically for example: assuming that the UUID is 2020jd152 × 8888, the startpath function in the string is used to determine whether the UUID "2020 jd152 × 8888" is beginning with the first prefix string "2020", if so, it is determined that the first prefix string is identified from the UUID, and if not, it is not identified from the UUID; the second identification mode is identified according to the boundary between fields; assuming that the universally unique identifier UUID is 2020jd152 x 8888, it can be identified that all letters "jd" are the second prefix string, the number "2020" before the letter is the first prefix string, and the number "152 x 8888" after the letter is the telephone number; the first prefix string is an identification string that requires the use of the line agent. Of course, the specific format of the universal unique identification code can be set according to specific situations, for example, separators are set between the first prefix string, the second prefix string and the telephone number, and the like, and the separators include, but are not limited to, vertical lines, slashes, dash marks, and the like.
After determining whether the first prefix string is identified from the universally unique identifier, the method may further include: if the first prefix string is identified from the universal unique identification code, it indicates that the call request corresponding to the universal unique identification code is sent by the line demander, and then the routing information needs to be extracted from the universal unique identification code, which specifically includes: assuming that the universally unique identifier UUID is 2020jd152 × 8888, the first prefix string "2020" is directly removed from the UUID, and the routing information "jd 152 × 8888" is obtained; if the first prefix string is not identified from the universal unique identification code, it indicates that the call request is not issued by the line requesting party, and the call request may be directly rejected, for example: assuming that the UUID is 152 × 8888, the first prefix string cannot be identified from the UUID "152 × 8888". Since the proxy server is only used by the business of the line demand party and does not allow the use of the ordinary calling user, the call request sent by the ordinary calling user can be directly rejected.
Please refer to fig. 3, which is a schematic diagram illustrating a processing procedure of the universal unique identification code according to an embodiment of the present application; in a specific implementation, the identification of the prefix string can be implemented using two profiles of configuration call rules in FreeSWITCH, where the two profiles of configuration call rules include: xml for identifying the public.xml requiring the line agent in response to the external request, and default.xml for identifying the terminal host of the line demander in response to the internal request; xml can be a softphone registered on the FreeSWITCH, and the FreeSWITCH can call other phone numbers by using the softphone, and certainly, the configurable files public.xml and default.xml can be mutually called, namely, a call request from the outside is transferred to internal processing, or the internal call request is transferred to external processing, so that the flexibility of call request processing and line resource use is improved. Specifically, add the identifier 2020 that needs to use the line agent to the configurable file public.xml, i.e., automatically identify the first prefix string "2020" from the universal unique identifier "2020 jd152 × 8888" using the freesswitch, and retain the routing information "jd 152 × 8888".
After step S120, step S130 is performed: if the second prefix string is identified from the routing information, the proxy server divides the routing information into the second prefix string and the telephone number.
The embodiment of step S120 described above is, for example: assuming that the routing information is jd152 x 8888, the proxy server may identify a second prefix string "jd" from the routing information "jd 152 x 8888" according to the boundary between the second prefix string and the phone number, and then divide the routing information "jd 152 x 8888" into the second prefix string "jd" and the phone number "152 x 8888"; the second prefix string and the telephone number may be demarcated by letters and numbers, or separators may be used as demarcations between the second prefix string and the telephone number according to specific situations; the delimiter includes, but is not limited to, a vertical line, a slash line, a dash, and the like, and the second prefix string is an identification string of the line demander.
In a specific practical process, referring to fig. 3, the proxy server may also use FreeSWITCH to divide the routing information into a second prefix string and a phone number, for example: xml adds the identifier jd of the end host of the routing partner to the configurable file default, i.e. the second prefix string "jd" is identified from the routing information "jd 152 × 8888" using freesswitch, and the telephone number "152 × 8888" is reserved.
After step S130, step S140 is performed: and the proxy server acquires the target line resource according to the second prefix string and calls a second terminal corresponding to the telephone number by using the target line resource so as to realize line proxy.
Line resources refer to resources provided by a line provider associated with establishing a connection to a communication line, where the line includes, but is not limited to: analog trunks, digital trunks, VoIP lines, and IMS lines, among others; the IMS line is a line based on a SIP protocol registration core network, and the VoIP line is used to digitize analog signals and transmit the digitized analog signals in real time over an IP network in the form of data packets.
There are many embodiments of the step S140, including but not limited to the following:
in a first embodiment, a target route resource is matched and searched from a database, and the embodiment includes: requesting a back-end server written by using a JAVA language by using a Lua language script or a Python language script, wherein the back-end server can search a target line resource meeting a preset condition in a matching manner from line resources of a database, and the preset condition is that the concurrence number of the target line resource is less than a preset threshold value and a prefix string corresponding to the target line resource is a second prefix string; the preset threshold value here may be set according to specific situations, specifically for example: the preset threshold is set to 8, 9 or 10, etc. In the implementation process, the target line resource meeting the condition that the concurrency number of the target line resource is smaller than the preset threshold value and the like is searched from the line resources of the database, so that the problem of insufficient memory resources caused by the use of the target line resource with a large concurrency number is solved, and the transmission efficiency of the line agent is effectively improved.
In a second embodiment, a target line resource is randomly selected from a plurality of line resources matched in a database, and the method includes: judging whether a plurality of line resources in a database meet preset conditions by using a Lua language script or a Python language script; if the plurality of line resources in the database meet the preset condition, determining the randomly selected line resource in the plurality of line resources as a target line resource, wherein the preset condition is that the concurrence number of the target line resource is less than a preset threshold value, and a prefix string corresponding to the target line resource is a second prefix string; the preset threshold value here may be set according to specific situations, specifically for example: the preset threshold is set to 8, 11 or 13, etc.
In a third embodiment, in a case where only one line resource is matched in the database, a target line resource is determined according to whether a concurrence number of the line resource satisfies a condition, the method includes: acquiring a line resource from the line resources of the database, and acquiring the concurrency number of the line resource; if the concurrency number of the line resources is smaller than the preset threshold, determining the line resources with the concurrency number smaller than the preset threshold as target line resources; the preset threshold value here may be set according to specific situations, specifically for example: set the preset threshold to 3, 5 or 7, etc. The database described above may include: a relational database and a cache database; among the relational databases that may be used are: mysql, PostgreSQL, Oracle, and SQLSever, etc., cache databases that may be used include: memcached and Redis, etc. The above embodiment of obtaining a line resource from line resources of the database may specifically include: judging whether the line resource is obtained from the buffer database according to the unique identifier of the line resource; and if the line resource is not obtained from the cache database according to the unique identifier of the line resource, obtaining the line resource from the relational database.
A fourth embodiment, determining a target line resource according to whether the concurrency number of the line resource in the cache database and the concurrency number in the relational database satisfy a preset relationship, includes: acquiring a first concurrency number of the line resource from a buffer database, wherein the first concurrency number refers to an actual concurrency number, and acquiring a second concurrency number of the resource line from a relational database, wherein the second concurrency number refers to a preset concurrency number threshold, namely the actual concurrency number cannot exceed the second concurrency number; if the size relationship between the actual concurrency number and the preset concurrency number meets the preset relationship, determining the line resource as the target line resource, wherein the preset relationship can be set according to specific conditions, for example: the actual concurrency number is greater than 0.5 times, 0.7 times or 0.8 times of the preset concurrency number, and the like. It can be seen that the selection of the target line resource may be determined by the actual concurrency number of the line resource in the cache database and the preset concurrency number in the relational database.
In the implementation process, a VoIP call request based on Internet protocol sent by a first terminal is received; then extracting a universal unique identification code from the call request, and under the condition that a first prefix string is identified from the universal unique identification code, dividing the routing information extracted from the universal unique identification code into a second prefix string and a telephone number; finally, the target line resource is obtained according to the second prefix string, and the target line resource is used for calling a second terminal corresponding to the telephone number, so that the line agent function is realized; that is to say, whether a line needs to use a line agent is distinguished by using the prefix string, and different line demand parties are distinguished to realize the line agent to replace part of functions in the VOS, so that the situation that the VOS is loaded to occupy a large amount of memory resources to cause insufficient memory resources is avoided, and the transmission efficiency of the line agent is effectively improved.
Optionally, in this embodiment of the present application, after extracting the universal unique identifier from the call request, line bridging may be performed, where the embodiment includes: the first terminal and the second terminal are line bridged according to the universal unique identifier, and it should be noted that line bridging herein refers to virtual bridging, and it is understood that bridging is performed at a data link layer, a network layer and an application layer, and not actual physical bridging.
Please refer to fig. 4, which illustrates a schematic structural diagram of a line agent apparatus according to an embodiment of the present application. The embodiment of the present application provides a line agent apparatus 200, including:
the call request receiving module 210 is configured to receive a VoIP call request based on internet protocol sent by a first terminal, and extract a universal unique identifier from the call request.
The routing information extracting module 220 is configured to extract the routing information from the universal unique identifier if the first prefix string is identified from the universal unique identifier, where the first prefix string is an identifier string of the line agent.
The routing information dividing module 230 is configured to, if a second prefix string is identified from the routing information, divide the routing information into the second prefix string and the telephone number, where the second prefix string is an identification string of the line demander.
And a line agent implementing module 240, configured to obtain the target line resource according to the second prefix string, and call the second terminal corresponding to the telephone number using the target line resource, so as to implement line agent.
Optionally, in this embodiment of the present application, the line agent apparatus may further include:
and the call request rejecting module is used for rejecting the call request if the first prefix string is not identified from the universal unique identification code.
Optionally, in an embodiment of the present application, the line agent implementing module includes:
and the target line searching module is used for searching the target line resource meeting preset conditions from the line resources of the database, wherein the preset conditions are that the concurrence number of the target line resource is less than a preset threshold value, and the prefix string corresponding to the target line resource is a second prefix string.
Optionally, in this embodiment of the present application, the target route searching module may include:
and the preset condition judgment module is used for judging whether the plurality of line resources in the database all meet the preset conditions.
And the target line determining module is used for determining the randomly selected line resource in the line resources as the target line resource if the line resources in the database all meet the preset condition.
Optionally, in this embodiment of the present application, the target route searching module may further include:
and the concurrency value acquisition module is used for acquiring a line resource from the line resources of the database and acquiring the concurrency number of the line resource.
And the target resource determining module is used for determining the line resource with the concurrency number smaller than the preset threshold as the target line resource if the concurrency number of the line resource is smaller than the preset threshold.
Optionally, in an embodiment of the present application, the database includes: a relational database and a cache database; a line resource acquisition module comprising:
and the line resource judging module is used for judging whether the line resource is obtained from the buffer database according to the unique identifier of the line resource.
And the line resource acquisition module is used for acquiring the line resource from the relational database if the line resource is not acquired from the cache database according to the unique identifier of the line resource.
Optionally, in this embodiment of the present application, the line agent apparatus may further include:
and the line bridging performing module is used for performing line bridging on the first terminal and the second terminal according to the universal unique identification code.
It should be understood that the apparatus corresponds to the above-mentioned embodiment of the line agent method, and can perform the steps related to the above-mentioned embodiment of the method, and the specific functions of the apparatus can be referred to the above description, and the detailed description is appropriately omitted here to avoid redundancy. The device includes at least one software function that can be stored in memory in the form of software or firmware (firmware) or solidified in the Operating System (OS) of the device.
An embodiment of the present application provides a proxy server, including: a processor and a memory, the memory storing processor-executable machine-readable instructions, the machine-readable instructions when executed by the processor performing the method as above.
The embodiment of the application also provides a storage medium, wherein the storage medium is stored with a computer program, and the computer program is executed by a processor to execute the method.
The storage medium may be implemented by any type of volatile or nonvolatile storage device or combination thereof, such as a Static Random Access Memory (SRAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), an Erasable Programmable Read-Only Memory (EPROM), a Programmable Read-Only Memory (PROM), a Read-Only Memory (ROM), a magnetic Memory, a flash Memory, a magnetic disk, or an optical disk.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules of the embodiments in the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
In this document, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.
The above description is only an alternative embodiment of the embodiments of the present application, but the scope of the embodiments of the present application is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the embodiments of the present application, and all the changes or substitutions should be covered by the scope of the embodiments of the present application.

Claims (10)

1. A line proxy method is applied to a proxy server and comprises the following steps:
receiving a VoIP call request based on Internet protocol sent by a first terminal, and extracting a universal unique identification code from the call request;
if a first prefix string is identified from the universal unique identification code, extracting routing information from the universal unique identification code, wherein the first prefix string is an identification string of a line agent;
if a second prefix string is identified from the routing information, dividing the routing information into the second prefix string and a telephone number, wherein the second prefix string is an identification string of a line demand party;
and acquiring a target line resource according to the second prefix string, and calling a second terminal corresponding to the telephone number by using the target line resource so as to realize line proxy.
2. The method of claim 1, further comprising, after said extracting the universally unique identification code from the call request:
and if the first prefix string is not identified from the universal unique identification code, rejecting the call request.
3. The method of claim 2, wherein obtaining the target line resource according to the second prefix string comprises:
and searching a target line resource meeting a preset condition from the line resources of the database, wherein the preset condition is that the concurrence number of the target line resource is less than a preset threshold value, and the prefix string corresponding to the target line resource is the second prefix string.
4. The method of claim 3, wherein the database comprises: a relational database and a cache database; the searching for the target line resource meeting the preset condition from the line resources of the database comprises the following steps:
judging whether a first concurrency number corresponding to the line resource in the cache database is smaller than a second concurrency number corresponding to the line resource in the relational database;
and if so, determining the line resource as the target line resource.
5. The method according to claim 3, wherein the finding, from the line resources in the database, a target line resource that meets a preset condition includes:
judging whether a plurality of line resources in the database meet the preset conditions or not;
and if so, determining the randomly selected line resource in the line resources as the target line resource.
6. The method according to claim 3, wherein the finding, from the line resources in the database, a target line resource that meets a preset condition includes:
acquiring a line resource from the line resources of the database, and acquiring the concurrency number of the line resource;
and if the concurrency number of the line resources is smaller than a preset threshold value, determining the line resources with the concurrency number smaller than the preset threshold value as the target line resources.
7. The method of claim 6, wherein the database comprises: a relational database and a cache database; the acquiring a line resource from the line resources of the database includes:
judging whether the line resource is acquired from the cache database according to the unique identifier of the line resource;
and if not, acquiring the line resource from the relational database.
8. A line agent apparatus, comprising:
the call request receiving module is used for receiving a VoIP call request which is sent by a first terminal and is based on Internet protocol voice transmission, and extracting a universal unique identification code from the call request;
the routing information extraction module is used for extracting routing information from the universal unique identification code if a first prefix string is identified from the universal unique identification code, wherein the first prefix string is an identification string of a line agent;
the routing information segmentation module is used for segmenting the routing information into a second prefix string and a telephone number if the second prefix string is identified from the routing information, wherein the second prefix string is an identification string of a line demand party;
and the line agent realization module is used for acquiring target line resources according to the second prefix string and calling a second terminal corresponding to the telephone number by using the target line resources so as to realize line agent.
9. A proxy server, comprising: a processor and a memory, the memory storing machine-readable instructions executable by the processor, the machine-readable instructions, when executed by the processor, performing the method of any of claims 1 to 7.
10. A storage medium, having stored thereon a computer program which, when executed by a processor, performs the method of any one of claims 1 to 7.
CN202110000698.7A 2021-01-04 2021-01-04 Line proxy method, device, proxy server and storage medium Active CN112333344B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110000698.7A CN112333344B (en) 2021-01-04 2021-01-04 Line proxy method, device, proxy server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110000698.7A CN112333344B (en) 2021-01-04 2021-01-04 Line proxy method, device, proxy server and storage medium

Publications (2)

Publication Number Publication Date
CN112333344A true CN112333344A (en) 2021-02-05
CN112333344B CN112333344B (en) 2021-04-06

Family

ID=74302475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110000698.7A Active CN112333344B (en) 2021-01-04 2021-01-04 Line proxy method, device, proxy server and storage medium

Country Status (1)

Country Link
CN (1) CN112333344B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866496A (en) * 2021-03-18 2021-05-28 浙江百应科技有限公司 Outbound line routing method and device based on concurrency control and electronic equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132449A (en) * 2006-08-23 2008-02-27 鸿富锦精密工业(深圳)有限公司 Network voice device and method for processing dialing
CN101755445A (en) * 2007-07-20 2010-06-23 思科技术公司 Using PSTN reachability to verify VolP call routing information
US20150055560A1 (en) * 2013-03-04 2015-02-26 Vonage Network Llc Method and apparatus for performing network registration
CN105491116A (en) * 2015-11-26 2016-04-13 广州华多网络科技有限公司 Cross-window data submitting method and system
CN105900434A (en) * 2013-11-27 2016-08-24 交互数字专利控股公司 Media presentation description
WO2017018880A1 (en) * 2015-07-24 2017-02-02 Zipp Labs B.V. Alert system, delivery system and method and door bell system
US20170269899A1 (en) * 2016-03-21 2017-09-21 Patient Prism LLC Interactive keyword cloud

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132449A (en) * 2006-08-23 2008-02-27 鸿富锦精密工业(深圳)有限公司 Network voice device and method for processing dialing
CN101755445A (en) * 2007-07-20 2010-06-23 思科技术公司 Using PSTN reachability to verify VolP call routing information
US20150055560A1 (en) * 2013-03-04 2015-02-26 Vonage Network Llc Method and apparatus for performing network registration
CN105900434A (en) * 2013-11-27 2016-08-24 交互数字专利控股公司 Media presentation description
WO2017018880A1 (en) * 2015-07-24 2017-02-02 Zipp Labs B.V. Alert system, delivery system and method and door bell system
CN105491116A (en) * 2015-11-26 2016-04-13 广州华多网络科技有限公司 Cross-window data submitting method and system
US20170269899A1 (en) * 2016-03-21 2017-09-21 Patient Prism LLC Interactive keyword cloud

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866496A (en) * 2021-03-18 2021-05-28 浙江百应科技有限公司 Outbound line routing method and device based on concurrency control and electronic equipment

Also Published As

Publication number Publication date
CN112333344B (en) 2021-04-06

Similar Documents

Publication Publication Date Title
CN102025718B (en) SIP endpoint enhancer
EP2315409B1 (en) Realizing method, system and apparatus of register mechanism in ip multimedia subsystem
US8423652B2 (en) Service templates for an IP multimedia subsystem
KR20120040231A (en) A method and system for interworking between instant messaging service and short message service
US20150312281A1 (en) Method and system for selection in multi-device scenario
US8615005B2 (en) System and method for placing a call using a local access number shared by multiple users
CN104969516B (en) Calling clearing end in OTT networks
EP2974159B1 (en) Method, device and system for voice communication
CN103686901A (en) System and method for presenting a single persistent view of a multi-module communication device to a network
CN112333344B (en) Line proxy method, device, proxy server and storage medium
US20130259215A1 (en) Discovering and using phone number location information
US9071693B2 (en) System and method for active call concierge for supplementary call services
CN103369159A (en) Call processing method and call processing device
CN104883428A (en) Method and device for identifying VOIP calls
US7995738B1 (en) Method of managing a peering database in a telecommunications network
US20070286370A1 (en) Apparatuses and methods for presenting caller identities for communications originating and terminating in different communication domains
US20190020605A1 (en) System and method for contextually based fulfillment of communication requests via a telephony platform
US8824481B2 (en) System, method, and apparatus to correlate a TCAP web service request to an application server session
US20200021626A1 (en) Management of subscriber identity in service provision
WO2023011057A1 (en) Communication method and apparatus
US20070165609A1 (en) Method of establising calls between a telephone terminal and an ip terminal
CN114845350A (en) Routing method and device
US8804928B2 (en) System and method for allowing virtual private network users to obtain presence status and/or location of others on demand
CN115529375B (en) Interface display method and device and electronic equipment
KR100901630B1 (en) Method for Automatically Allocating Internet Phone Location Information

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant