Call Route Discovery with Asterisk / DUNDi
|
|
|
- Annice Barber
- 10 years ago
- Views:
Transcription
1 Departement D-ITET Computer Engineering and Networks Laboratory (TIK) Semester Thesis Call Route Discovery with Asterisk / DUNDi André Wangler [email protected] September 5, 2007 Supervisor: Ulrich Fiedler Prof. Dr. Bernhard Plattner Institut für Technische Informatik und Kommunikationsnetze
2 Departement D-ITET Computer Engineering and Networks Laboratory (TIK) Abstract Starting point of the present work is a telephony system which is set up in a wireless mesh network and consists of interconnected PBXs (Public Branch exchange). The PBXs provide the basic telephony services to the physical phones which are assigned to a specific PBX each and not allowed to move to another one. Moreover we have users which are mobile and can affiliate to arbitrary phones. After an affiliation to a phone the user is reachable at this phone under his personal number. To provide the mapping of the users logical number to a physical device, number and call route discovery is necessary. Already realized approaches using flooding does not meet the defined requirements with respect to traffic generation and time consumption. So a new event driven approach is introduced which is based on peer-to-peer trusted networks between the PBXs. For the implementation the open source PBX Asterisk as well as the number discovery protocol DUNDi are used and extended in a way that the dynamic requirements of our system can be fulfilled. The brought up procedure was tested on an emulated telephony network and it pointed out to be an efficient and well working solution for a future telephony system.
3 Contents 1 Introduction 1 2 Implementation Basic idea Affiliation Disaffiliation Call setup Node configuration Asterisk DUNDi IAX SIPp Tests Network setup Testing types Test execution Results General Remarks Test network Test results Problem A: Static DUNDi weight Problem B: DUNDi protocol malfunction Timing and time consumption Conclusion 21 A Configuration files 24 A.1 extensions.conf A.2 sip.conf A.3 dundi.conf A.4 iax.conf A.5 SIPp scenario of redirection server B Tests 29 B.1 Test sequences B.1.1 Function testing B.1.2 Failover and Recovery Testing B.2 Test protocols B.2.1 Functionality testing I
4 B.2.2 Failover and Recovery Testing II
5 List of Figures 1 Schematic network topology Registration of a physical phone Dynamic affiliation procedure Disaffiliation procedure Call setup with usage of a redirection server Setup of a single node Affilation procedure Test network DUNDi problem case A DUNDi problem case B III
6 1 Introduction In today s world communication is omnipresent. Mainly telephony is available everywhere. But one can think of situations where the present communication networks fail and backup systems have to be provided quickly. One of the problems in a dynamically built telephony system is the call routing within the changing topology of the telephony network. The starting point of the current work is the scenario of a telephony system which is set up in a wireless mesh network that is characterized by its flat hierarchy whereby every node is similar and acts as host and as router. In the assumed application there are three components which play an important role (see also Figure 1): First there are the nodes of the mesh network which act as PBX (private branch exchange). They are interconnected via a wireless interface and provide the necessary telephony functions such as call establishment or call forwarding to their subscribers. This PBX nodes are mobile which means that the topology of the network can change completely over time. The core of each PBX is its dialplan wherein every supported phone is listed and can be looked up by the local or a remote PBX. The second part of our system are the physical phones which are directly linked with the PBXs. Every phone is assigned to a specific PBX and it is not allowed to move to another one. The communication between the phones and the PBX can be managed through different VoIP (Voice over IP) protocols such as SIP (Session Initialization Protocol) or H.323. The last part is represented by the users. They are logical entities with an assigned number and they are allowed to move within the network. A user gets connected to the telephony system by affiliating itself or its number respectively to a physical phone. After an affiliation the telephony system is able to retrieve which logical number is assigned to a physical device and it will route future calls to the users number to this phone. Let us have a look at an example of a possible scenario. One imaginable operational area is in the field of disaster recovery whereby no public communication channels are available. So one can erect antennas which are connected to boxes containing a PBX each. These are linked to multiple phones. The system allows a user to affiliate its logical number through the dial of the phone it wants to affiliate to. Then the user is reachable at this place up to the disaffiliation or up to the affiliation to another phone. Referring to Figure 1 this looks at follows: user A arrives at phone 11 which is connected to PBX node 1. User A affiliates itself to phone 11 which causes that it is reachable by the other users (e.g. B or C). Later user A moves to phone 23 (with or 1
7 without disaffiliation from phone 11) and affiliates to the new phone. The system now routes all calls to phone 23. user C phone 31 N 3 N phone 11 user A N phone 12 Node 1 Asterisk PBX phone 13 user B N phone 14 phone 21 phone 22 N 2 user A phone 23 André Wangler Figure 1: The network we deal with consists of three parts: First the main nodes which acts as PBX and are organized as a wireless mesh network. The second part are the physical phones which are connected to a PBX and are not allowed to move. The last part are the users which affiliate to a specific physical phone. Users are SA mobile Call Route sodiscovery they can affiliate to different phones at different time. To provide such a system one have to implement two network-side functions. The first one is number discovery, which means that the system maps a called logical number to a physical address or phone respectively. The second function is call route discovery, which performs the routing of a call to a physical phone through the network. These basically different tasks will be solved in the current work in a single step. One can think of several algorithms to solve the call route discovery problem. One known approach is based on flooding. This one is already implemented by the industry partner (AS- COM Schweiz AG) and works as follows: The whole network is flooded to find a user. When the searched phone with the specific number is found a message is sent back and the system remembers the path to route the call. This is a low level approach and works without an IP like addressing of the different PBX nodes. The disadvantage of this attempt is on one hand that 2
8 flooding produces a large traffic overhead in the network. On the other hand this is a connection oriented approach which is not sufficient when one wants to implement for example data services in the same network. To solve these problems and to improve the performance of the system, the goal of the current work is to bring up an event driven approach providing call route discovery in an IP based (packet switched) network wherein routing is done with OSPF. Since stability is one of the main requirements a completely distributed number lookup attempt is chosen which works on the basis of trusted partners which are organized in a peer-to-peer network. This allows us to do number discovery in an efficient way. Furthermore several user-side functions should be implemented. So a user should be able to start the affiliation procedure by dialing a special code followed by his logical number. This procedure should be executed in a convenient time and afterwards one should be able to find the user from every phone in the network. Further a disaffiliation procedure should be implemented after that no one is able to reach the user any more. It should also be possible that a user is mobile without disaffiliating itself. This means at the affiliation the system should check whether the user is already affiliated at another place. Basically we can state that affiliation and disaffiliation have the goal to modify the PBX dialplan depending on the users behavior. In the further paragraphs we will see where the problems of this simple attempt lie and how these will be solved. For the implementation of the system we use the existing open source PBX Asterisk (see [1] and [2]) and its built in number discovery protocol DUNDi (Distributed Universal Number Discovery, see [4]). DUNDi as well as Asterisk are open source projects and are freely available. Furthermore the DUNDi protocol actually is independent of Asterisk but Asterisk is the only PBX which implements DUNDi up to now. DUNDi performs number discovery exactly in the way we require. Namely it supports a completely distributed peer-to-peer event-driven approach to discover the location of a phone, based on trusted partners. It sends requests to remote Asterisk instances which look up the number in their dialplan. So DUNDi will deliver the address of the PBX to which the phone we are looking for is connected to. This address yields the implicit path to the target phone, so we have a convenient approach to solve the problem of call route discovery. As already mentioned we use Asterisk to set up a PBX. Asterisk provides many telephony features by default. It allows us to set up a communication between different partners inside and outside the area of the local PBX, provides interfaces to telephony soft- and hardware and implements multiple security and encryption features. It also allows us a wide range of personal configuration possibilities: on the one hand in the programs source code and on the other hand 3
9 in the configuration files of Asterisk. From these configuration files at every reload of Asterisk the dialplan containing all subscribers and forwarding rules is generated anew. According to Asterisk all these subscribers are seen as physical phones with an assigned number, so it does not support our concept of phone independent users by default. Since we want to dynamically adjust the dialplan and since every reload can affect ongoing calls and global variables, changing and reloading the dialplan can not fulfill our requirements. So the objective of the present work is to bring up a procedure, how a dynamic affiliation and disaffiliation (creating and deleting dialplan entries) as well as call establishment based on Asterisk could be done. Moreover we have to figure out how we can emulate mobile phone-independent users based on Asterisks device-oriented view of the system. Further we will have to investigate how DUNDi should be configured to gain the required performance. In this work we will show an extension which uses a possibility Asterisk offers to SIP phones: they can be added dynamically to the dialplan by sending a SIP REGISTER message. But since we work with other protocols than just SIP, this alone will not help us. The fact that a SIP entity can work as redirection server will lead us to the solution that we are starting a virtual SIP phone for every affiliating user. Afterwards the virtual entity is responsible for forwarding every incoming call to the assigned physical phone. Besides the implementation, a further main objective of the work is to test the gained procedure. Naturally it is too complex to build a real system. So we test our extensions in an emulated system built by UML instances (User Mode Linux). UML is running on Linux PCs and simulates a whole Linux environment. Every instance is seen as a process by the host system so it is possible to start multiple UMLs. Furthermore one is able to setup network interfaces on a UML therewith we are communicating over channels simulated by link daemons. So we are able to emulate and test a whole telephony system of 17 PBXs, several phones and users on one PC. To simulate the phones on the UML instances we use the call generator SIPp. It is able to send user defined sequences of SIP messages to other phones or PBXs. It is also possible to realize redirection servers with such SIPp scenarios. During the test the users which initiate affiliations, disaffiliations and test calls will be emulated by shell scripts which start SIPp instances which are responsible for this procedures. The goal of these tests is to show the feasibility or the limitations of the chosen approach. It should be investigated whether the requirements could be fulfilled by utilizing Asterisk and DUNDi. Adjustments which should be done to Asterisk and DUNDi to work in a mature system should be found and reported. Furthermore the implemented procedures should be tested on 4
10 their functionality and their stability against network and link failures. In the end we want to have also a complete test environment that we can reuse for further tests. The results will show us on one hand that we could have fulfilled the requirements of the aimed telephony network. But on the other hand we will also see some inaccurate implementations within the used open source projects which have led to unexpected results during the tests. The rest of this thesis is structured as follows. Section 2 will explain the procedures of affiliation, disaffiliation and call setup in more detail. Furthermore, the adjustments which have been made to Asterisk and DUNDi are stated and the test setup is introduced. In Section 3 we will show the results and we will finish this thesis with the Conclusion in Section 4. 5
11 2 Implementation 2.1 Basic idea As we have already seen that Asterisk is designed for static telephony setups whereby every phone and its owner is known at the initialization time of the system. To fulfill the requirement of a dynamic affiliation we profit from the way Asterisk handles SIP phones. The SIP protocol as well as Asterisk allow us to register SIP phones dynamically in the dialplan by sending a SIP REGISTER message to Asterisk (as stated in [3]). After the registration the number will be added to a specified context. Since there are phones with other protocols than SIP connected to our Asterisk instance, we cannot directly make use of the dynamic SIP registration. So we implement a workaround by starting a virtual SIP phone for every affiliating entity. The initialized SIP phone would first register the logical number in the dialplan and will afterwards work as a redirection server for incoming calls. So we have an entry in the dialplan which forwards the number to the virtual SIP phone then the virtual destination knows the associated physical number and redirects the call to the physical device. For our intension to simulate and verify this concept we take SIPp described in [9], which is a testing tool for the SIP protocol as well as for PBXs like Asterisk. There is the possibility to write own XML configuration scripts, which allows us to give this virtual phone the required behavior. Since SIPp can only be started either in server- or client mode we have to start SIPp multiple times for each affiliation, whereby the last instance takes the role of the redirection server and is running until the disaffiliation of the user. The following sections show the basic ideas for the affiliation of the number abcd to the physical device Because of simplicity, the physical device is represented as one instance, other than in the test scripts where we also have multiple SIPp instances taking the role of this phone. For a final implementation of such a system, it would be a more proper solution to integrate the virtual SIP phone directly into Asterisk via the programming interface functions or by extending the source code of Asterisk itself Affiliation Before we are able to start any affiliation during the tests, it is necessary to have a physical device to which the affiliation is done. Therefore we first register a SIP phone - realized as SIPp instance - as showed in Figure 2. This SIP phone stands for a physical phone communicating with an arbitrary protocol. For the test we use a SIP phone thus we can introduce a physical 6
12 phone dynamically, as well as the future virtual phones. In the test sequences we have to perform a physical phone which answers a call or a lookup respectively. So this physical phone has the job to wait for calls, answer and finish them afterwards. Figure 2: Before an Affiliation can be established, we register a SIP phone which stands for an arbitrary physical phone. This SIP phone afterward has to initialize the affiliation procedure by calling a specified number. The user of the above registered SIP phone starts the affiliation process by dialing 871abcd from the physical phone 1234 (see Figure 3). Asterisk decodes the 871 prefix as an affiliation command and abcd as the users number. It starts a SIPp client, passing the number abcd. The SIP client then performs a SIP register procedure with the number abcd to Asterisk. On reception of the register, Asterisk adds a dynamically created entry for the number abcd to the dialplan. The SIP phone in client mode then terminates since it is no longer required. Figure 3: The afflilation procedure started by a physical phone results in the initialization of a virtual SIP phone which registers to Asterisk. This is followed by adding an entry to the dialplan. After the start of the redirection server the user gets a confirmative feedback. 2.1 Basic idea 7
13 Then a SIPp instance in server mode is started. This instance will be responsible for performing the actual redirection from the logical number to the physical device so at its initialization both numbers are passed. When the affiliation is finished a conformation sound is played to the user who then terminates the call Disaffiliation The disaffiliation of a number is started according to the affiliation sequence by the code 870 and the logical number of the user (see Figure 4). Then Asterisk signalizes to the redirection server that it can stop. This can be done through a special SIP message or through a system call which kills the specific process. Afterwards we start a new SIPp instance in client mode which sends a further SIP registration message with an expiration time of zero. This has the effect that the number is removed from the dialplan. Finally an audible feedback is given to the user which acknowledges the disaffiliation procedure. Figure 4: According to the affiliation procedure the code 870 starts the disaffiliation of the number abcd. The redirection server is stopped and the dialplan entry is canceled by again sending a registration message, this time with expiration time zero. Since we have the mobility of the users within the network and we cannot expect the user to disaffiliate every time leaving a phone, we have to take into consideration what is happening when we have users which affiliate to different phones without disaffiliation. Of course it is required to find the latest affiliation for every user since the probability is very high that the user can be reached there (see Section 2.2.1) Call setup A call can be established by any phone in the network by dialing the logical number of the user (see Figure 5). The location determination is not considered in the shown sequence because it is done within the Asterisk object, which can also stand for multiple distributed Asterisk instances. 2.1 Basic idea 8
14 However, after dialing the number abcd, Asterisk forwards the call to the SIPp server which number is registered in the dialplan. The SIPp instance acts as a redirection server and replies with a "302 temporary moved" SIP message which contains the number of the physical phone - the user is affiliated to - in the contact field (for a SIP reference see [8]). So Asterisk forwards the call to the number 1234 which acknowledges the invitation. Finally the call information is returned to the originally inviting phone and the call is initialized. Figure 5: When anyone in the network dials the number abcd it gets forwarded to the redirection server. It redirects the call to the physical phone the user abcd is affiliated to by sending a 302 SIP message. 2.2 Node configuration Every node in the network has the structure denoted in Figure 6. The nodes have one or multiple ethernet interfaces whereby to each an IP address is assigned. The routing between the nodes is done with an OSPF daemon. Communication protocols between the nodes are DUNDi, IAX (Inter Asterisk exchange) and several VoIP (Voice over IP) protocols. DUNDi is used for the dialplan discovery between the Asterisk instances. This protocol builds up a peer-to-peer system of trusted partners. Requests are forwarded to adjacent nodes until one knows the requested number or the whole network has been queried. IAX is responsible for transmitting calls between the Asterisk instances. Whatever protocol the subscribed devices use to communicate with Asterisk, the route between the participating Asterisk instances is bridged by the IAX protocol. DUNDi and IAX use the underlying UDP (User Datagram Protocol). The core of Asterisk are the configuration files and the resultant dialplan. Asterisk is responsible for everything related to the handling of incoming and outgoing calls. They are generated by SIPp. The behavior of SIPp instances can be specified using XML scenarios. 2.2 Node configuration 9
15 k an, DUNDi-, DUNDi Asterisk dialplan configurations IAX OS SIP H.323 System Functions SIPp SIP s for dynamic s UML UDP IP (OSPF routing) UDP/TCP Figure 6: On every node there is an Asterisk instance as well as some SIPp phones. Asterisk waits for events which are generated by SIPp phones through the SIP channel. SIPp phones themselves are controlled by system functions or shell scripts respectively. liating and physical devices with SIPp IP protocol and PBX s ine specific behavior of instances by xml l scripts or from Asterisk via shell script The last part is the system part of the node which is important when we want to execute predetermined test scripts. It controls the interaction between the different SIPp instances and Asterisk is starting the redirection server by calling a system function. tests on setup Asterisk of 17 UML (user mode The core of Asterisk is the dialplan which is generated based on the configuration files. The most important one is the file extensions.conf (see Section A.1). Therein we specify all contexts, global variables, dialplan functions and macros. Contexts are special parts of the dialplan which constitute independent sections which can be SA used Call inroute predefined Discovery situations by other parts of the dialplan like the SIP or5the DUNDi part. For example the two DUNDi contexts in extensions.conf specifies the location where DUNDi can look up a number on the local or a remote host. In the contexts either we include other contexts or we determine extensions. An extension denotes a step in a dialplan function sequence. Therefore in an extension we specify the (called) number or number pattern for which this extension should be executed, the sequence number of this extension and the in this step called function. So when we enter a context we search for extensions which are matching the called number, and execute the specified functions according to the sequence number of the extension. A special context is the [sipregistration] context. It is specified as regcontext in the SIP configuration file sip.conf (see Section A.2). This means that a SIP phone which makes a registration is added to this [sipregistration] context at sequence number 1. Therefore the 2.2 Node configuration 10
16 sequence numbers in this context start at number 2. So when we call such a registered phone we enter the context [sipregistration] by using the before inserted extension with sequence number 1. The next matching extension is the one with sequence number 2 which matches for all five digit numbers in this context and which executes the call establishment to the required number. The most important context is the [affiliation] context. Therein we specify what should be done when an affiliation is initiated by a phone calling the affiliation code 871 and the appended five digit number. Since a disaffiliation is optional when a user leaves a physical phone we have to make sure that we do not have multiple affiliations with the same logical number in the network. Therefore we add a loop to the affiliation procedure which is first looking up the number we have to affiliate. If the same number is found on other hosts in the network all affiliations are remotely disaffiliated and afterwards we can run the local affiliation of the users number (see Figure 7). Therefore we sequentially start two instances of a SIPp phone. The first one registers the logical number to Asterisk by sending a SIP REGISTRATION message. The second one is started in server mode and acts as redirection server for incoming calls. For the tests Asterisk is used. It could be installed as part of the debian standard distribution by running the aptitude command. To run Asterisk on UML it is important to first adjust the access authorization to all necessary directories. This is not done automatically in the UML file system DUNDi The number discovery between the different PBXs is done with the DUNDi protocol. DUNDi is a fully distributed peer-to-peer system built as a network of communication servers. One server can look up a number at a trusted peer. If the queried peer does not know the number, it performs a query at its trusted peer and so on. A reply is sent back along the same route and every node on this route caches the result of this lookup. A further request then could be answered faster since more nodes know the location of the number. The settings for DUNDi can be specified in the configuration file dundi.conf (see Section A.3). This file contains basically the following things: the identification data of the local host (e.g. the entity ID), the [mappings] context to specify where a DUNDi request is allowed to lookup numbers, and all data used to communicate with other DUNDi peers. In the configuration there are several parameters which could be changed and have an effect on the performance of a DUNDi lookup. The cachetime (in seconds) can be set to a desired value so looked up numbers would be stored for that time in every node on the lookup route and a further lookup could be done in a shorter time using the cached information. Since we 2.2 Node configuration 11
17 . procedure n analogue ffiliation Affilation start (1234, abcd) Lookup abcd in network Result? no yes SIPp Disaffiliate abcd Remotely f dialplan rocedure Start virtual SIP phone (1234, abcd) REGISTRATION msg from abcd Virtial SIP phone abcd Add abcd to dialplan Affilation done Figure 7: Before affiliating a new number we check whether there are other affiliations with the same SA number Call Route and Discovery disaffiliate them. Afterwards the virtual SIP phone is 8 started. have mobility in our network, we can not allow nodes to cache a destination which is probably invalid. So we set the cachetime to a low value. A second parameter is the weight of a DUNDi mapping, which is the second parameter of a mapping context entry. This weight is used to decide which destination is called in the case of multiple DUNDi replies, whereby a smaller weight is preferred. A weight so far could be specified as static. The support of dynamic weight is already announced to be introduced in the next release of Asterisk (version 1.6). This would give us the possibility to transmit the expiration time of a SIP phone through a DUNDi response and we could automatically choose the latest registration of a number. A third important parameter is the order of a trusted DUNDi peer. This can be set to primary, secondary, etc. A flat hierarchy yields a faster lookup of a number, i.e. a breadth-first search. The disadvantage of this setting is the generated network traffic and the less effective caching, 2.2 Node configuration 12
18 since we have shorter routes to a peer which knows the requested number. It could be useful to declare every node in the network as DUNDi peer of a specific node, since in a real dynamic network we could not foresee which are our directly linked neighbors. While running the system only the directly connected nodes would become reachable for the local DUNDi system IAX IAX is the Inter Asterisk exchange protocol. Through this channel calls and call initialization messages are passed. The configuration is done in the configuration file iax.conf (see Section A.4). In this configuration it s important that IAX is binded to every network interface of the node. Otherwise Asterisk would not or just restricted be able to forward calls to destinations predetermined by DUNDi SIPp SIPp is a testing tool for the SIP protocol and can act as a SIP server or client. This means that we can simulate every behavior of a SIP phone. It allows us to specify our own scenarios in simple XML files which contains the sequence of sent and received messages as well as the messages content. In Section A.5 we see the scenario for the SIP redirection server which is started at the affiliation of a logical number. This scenario waits until it receives a SIP INVITE message for the assigned number at the specified port. Afterwards a SIP 100 Trying message followed by a SIP 302 Moved Temporarily message is sent which is containing the physical number in the contact field. The SIPp instance then waits for an acknowledgment. After receiving this, the scenario starts again and waits for an inviation message. Starting multiple SIPp instances during the tests turned out to be a problem, since every instance has to be bound to a communication port. A solution for this problem is to specify the port as 0, so it takes the next free port by increasing ports from The solution for the required media port was to remove the checking algorithm in the SIPp source code. This was allowed because we don t need any media stream in our tests, since we just want to set up and terminate calls. 2.3 Tests Network setup The test network consists of 17 nodes whereby every node has one or multiple network interfaces according to Figure 8. There are also some subscribed physical phones which in the tests 2.3 Tests 13
19 would be initialized dynamically. The network has the property that we can simulate many network failures by breaking a few links. So we reach a partition of the network or an isolated node by just deactivating one link D nd es C Trunk Subscriber B ffiliation lookup (mobility) up (mobility) etwork A Figure 8: The test network topology consists of 17 nodes and several subscribed phones. In the tests every node is represented by a UML instance and the links are implemented with a daemon which forwards every message to the adjacent node. On every node we install Asterisk and SIPp according to the description in Section 2.2. To make the installation efficient, we first install the programs to a dedicated file system. Afterwards we use this file system to start every single UML instance. So just the changes with respect to the original file system have to be saved for every instance, and we can install everything just once for all UMLs. Since different UML instances have different configurations, after a first start of the UMLs we run an installation script which on one hand installs all required daemons and on the other hand copies all peer specific configuration files. Route Discovery 2.3 Tests 9 14
20 2.3.2 Testing types The brought up approach should be tested on functionality and on robustness against node and link failures. The first test sequence should determine the behavior of the system in executing the basic functions. The detailed functionality test sequences can be seen in Section B.1.1. We assume the test network as seen in Figure 8 without any failures. We first test the number discovery without and with affiliation, so in the first case we should not get any result whereas in the second case we get the response with the users location. Further the disaffiliation procedure is tested whereby a user or a SIPp phone respectively affiliates its number. Then a disaffiliation and a new affiliation to another node is made. Independent of the users mobility we should get the latest affiliation when we look up the users number. Also the mobility of a user without disaffiliation is tested. In the second test sequence we test the behavior in the case of isolated nodes, partitioned network and node and link failures (see the test sequences in Section B.1.2). An interesting situation is the mobility within partitions or over partition boundaries. Also interesting is the case when we have only a single way to the destination left because of link failures Test execution To run the tests we first have to boot all UML instances on a PC. Then on every node Asterisk is started and allowed to reach steady state. We assume that before the start all installations as well as the configuration updates has been done. The first test script we start on a node in the test network. So we can transmit all commands via a remote shell instruction which is a fast approach. In this script we start other shell scripts which make affiliations, disaffiliations and the establishment of calls. In the scripts mainly the interaction of the different SIPp instances is controlled. Since we have network failures in the second test and we can not reach all other nodes any more, the second test script is executed on the host PC and the commands are submitted to each host through a TCP connection which is built up for every command we want to transmit. To monitor the ongoing tests and to have a protocol afterwards, we write a log file on the host PC (see the test protocols in Section B.2). This file is written by the test script and the different SIPp instances. For instance at a lookup, the calling SIPp instance writes to the log file that it is starting a request. The called SIPp representing a physical phone logs its physical number 2.3 Tests 15
21 everytime it is called. The calling part then logs when it gets an acknowledge from the dialed partner. So from the log file we will see what affiliations have been done, what numbers we tried to look up and to which physical numbers the requested numbers have been mapped. The comparison of the expected and the obtained number will give us the result of the test. 2.3 Tests 16
22 3 Results 3.1 General Remarks We can state that we have successfully implemented the required functions affiliation and disaffiliation as well as that we have found a procedure to make the mapping of the logical to the physical phone numbers. So we were able to extend the static behavior of Asterisk and DUNDi with dynamic features. This is done by introducing a virtual SIP device for every affiliating user. The SIP phone takes the role of a redirection server which forwards an incoming call to the accurate physical phone where the user is located. So we could adopt the concept of a device independent user into the device-oriented view of Asterisk. We also tested multiple settings in the usage of the DUNDi protocol and checked the effects of different parameter values. In the end we have a configuration which is a practical solution for a telephony system in wireless networks. Further we have found a convenient way to emulate a test network and simulate subscribing phones on a Linux PC. The affiliation functions as well as the simulation of the SIP phones works with a reasonable time consumption. In the tests the establishment of the connections for transmitting the test commands to the UML instances and the timing between the different SIPp instances took most of the consumed time. 3.2 Test network One goal of the work was the setup of the test network with UML. After several technical difficulties we now have a working setup which can easily be rebuilt for further tests. One of the main difficulty was the bounded memory of a UML instance to running processes. A workaround for this was to kill the started SIPp processes as soon they are not used any more during the tests. So it was possible to run the whole sequence in a row. 3.3 Test results According to the test sequences in Section B.1 we have executed the test scripts. The generated log file can be seen in Section B.2. According to this protocol we see that the functionality test yields the correct results. In the case that no number is returned at a lookup, Asterisk 1.4 answers with a SIP 503 Service Unavailable message to the requesting phone, other than earlier releases of Asterisk which made a distinction between different request failures. The second part of the tests could also be executed correctly except for two problem cases (therefore see Sections and 3.3.2). These failures are based on incompletely implemented features in Asterisk and could be fixed with little effort by adjusting the source code of Asterisk. 17
23 3.3.1 Problem A: Static DUNDi weight A first problem which appeared in the tests is the static DUNDi weight we have seen in Section This becomes a real problem when we have a partitioned network (see Figure 9) whereby in at least two partitions an affiliation is done. The first affiliation is not removed since the destination is not reachable for the second host. So after restoring the network, at a lookup we have multiple DUNDi answers whereby in most cases the first incoming answer is taken since all DUNDi weights are static and equal. A fix of this problem is coming up in the next Asterisk release (version 1.6). The new feature would allow us to dynamically set the DUNDi weight for every new request. For example we can set it dependent of the expiration time so in the case of multiple answers we can find the latest affiliation in the network X ility kup C Trunk 10.1 Subscriber D 11 on time sterisk (1.6) B A ding query ry path to achable and to already Figure 9: Problem case A: At first the link between node 13 and 17 is broken. When we have mobility between the partitions and the failed links are restored, on a lookup we have multiple DUNDi answers which do not yield a basis Xof decision to chose the right one Problem B: DUNDi protocol malfunction C 10.1 Subscriber B Asterisk respectively. We have 7.1a 7.2 look at the situation showed in Figure possible route for node 7 to look up a number which is affiliated to this number is Trunk 10.2 X X X 6.1 The second problem case is based on the DUNDi protocol or the interpretation thereof by For example node 7 starts a request of a number which is located at node 16. So the only 3.3 Test results D
24 on time terisk (1.6) A ing query ry path to achable and X X X X D 7.6 o already C Trunk Subscriber B A oute Discovery 11 Figure 10: Problem case B: A bug in Asterisk interpreting the DUNDi protocol leads in this situation to the problem that a request form node 7 is not forwarded at node 2 because of the presence of node 5 in the list of already queried nodes. According to the DUNDi protocol, when we send a request the protocol attaches the route the message has taken to the payload. So at every node an entry is made that the message has passed this specific node. Additionally the node adds the peers which are known as trusted partners and to which the request is forwarded to. This is done by reason of aborting the lookup flooding procedure when all nodes are reached. The problem with this is now that Asterisk adds the neighbour peers even if they are unreachable or offline at the moment. So in the above example the flooding stops at node 2 because node 4 added node 5 to the already queried list. This leads to the malfunction in failure test 11 (see B.1.2). This problem must be a bug in Asterisk or in DUNDi respectively and may be solved by adjusting the source code of Asterisk. 3.4 Timing and time consumption For the tests it turned out to be necessary to give enough time to the different events. Since the communication between the host and the UML instances for example is done over a TCP connection, it takes a while to initiate it. Another reason is that different programs are writing 3.4 Timing and time consumption 19
25 in the log-files and we want to make sure that the order of this log messages doesn t get mixed up. So most of the used time has to be spent because of the testing environment. Another aspect which takes some time concerns the communication between the Asterisk instances or the DUNDi protocol respectively. Namely when one or more links are stopped and restored, it takes a while till the adjacent nodes recognize the new DUNDi peers. This could take up to a minute and have to be considered within the test sequence. A last point which takes time is the affiliation procedure in the Asterisk dialplan. Depending on how many other affiliations with the same number are found, we have to wait some time to finish the remote disaffiliation. The wait values in the affiliation procedure are chosen very tolerant. It would be possible to shorten the affiliation procedure by waiting just half of the specified time. Taking into account these points the functionality test script takes about 15 minutes and the failover test script takes about 20 minutes. By testing the affiliation and call procedure manually in the test environment, one can see that affiliations are accomplished in a short acceptable time span and calls are established in an almost real time manner. 3.4 Timing and time consumption 20
26 4 Conclusion To provide the accessibility of a user in a telephony network, call route discovery is necessary. Additionally, when we have mobile users which are independent of the physical phones, we need number discovery which determines the phone the user with his number is affiliated to. In this work we brought up an approach how these two things can be realized with the open source PBX Asterisk and the number discovery protocol DUNDi which is implemented in Asterisk. We have adopted the static device-oriented behavior of Asterisk to be able to handle users which are independent of physical phones and are mobile within the network. This was done by introducing a virtual SIP phone for every affiliating user. Since SIP phones are given the possibility to register dynamically to the Asterisk dialplan we use them as substitute for the users. The virtual SIP phones act as redirection server and forward the incoming calls to the accurate phone which does not have to use the SIP protocol. This extension of Asterisk was necessary to make use of the DUNDi protocol which directly accesses the PBX dialplan. So we now are able to discover the number through the DUNDi protocol. Aditionally we showed the effects of different DUNDi parameter settings to the behavior of the system. E.g. we can set the caching time of the PBXs on the path on which a lookup is performed. So we can adjust the sluggishness of the system and the reaction time on disaffiliating users. Further we can adjust for example whether DUNDi should perform a breadth-first or a depth-first search. So to perform a call to a user which is affiliated to a remote PBX, Asterisk starts a DUNDi request to its trusted partners and so is able to detect the current system state at every call. DUNDi yields the IP address of the PBX the user is affiliated to. With this address and the underlying OSPF routing we also have found the implicit route to the target phone. We can state that it was possible to improve the existing flooding based approach by implementing an event driven procedure using DUNDI and Asterisk. This leads to a better performance with respect to traffic overhead and call setup delay. Tests on the implementations functionality and stability were performed in an emulated network realized with UML instances on a single PC. We installed a test network of 17 nodes and several physical phones and users which affiliate and disaffiliate. The tests showed that we could meet the determined requirements. So our system manages for example multiple affiliations of the same user without disaffiliation in between. Also the number discovery was successful even in the case of multiple link or node failures. Two exceptions are represented by the pointed out incomplete implementations of the DUNDi protocol by Asterisk. These bugs could be fixed with little effort in the case of realizing the telephony system with the DUNDi protocol. Future work has to be done in evaluating other approaches to perform call route discovery in wireless mesh networks. So one could use multicasting to map the logical user numbers to the 21
27 physical phone numbers. Advantages and disadvantages of the different approaches should be investigated and evaluated. 22
28 References [1] Mark Spencer et. al., The Asterisk Handbook - Version 2, handbook-draft.pdf, last visited 07/2007. [2] Leif Madsen et. al., The Asterisk Documentation Project: Volume One: An Introduction to Asterisk, content/docbook/current_v1/docs-pdf/vm1.pdf, last visited 07/2007. [3] J.R. Richardson, Using DUNDi with a Cluster of Asterisk Servers, JR_Richardson_Whitepaper.pdf, last visited 07/2007. [4] Mark Spencer, DUNDi Internet Draft, last visited 05/2007. [5] Antti Kallaskari (ASCOM Finland), Mobile numbers in Access Node networks. [6] Andrew Lunn (ASCOM Switzerland), Nomadic Telephony - Techniques for Locating Nomadic Users. [7] Andrew Lunn (ASCOM Switzerland), Nomadic Telephony - Throw away Prototype System Test Plan. [8] J. Rosenberg et. al., SIP: Session Initiation Protocol (Reference), rfc3261.txt, last visited 07/2007. [9] Olivier Jacques, SIPp reference documentation, doc/reference.html, last visited 07/2007. REFERENCES 23
29 A Configuration files A.1 extensions.conf [general] static=yes writeprotect=no autofallthrough=yes clearglobalvars=no [globals] LOCALPORT=5200 MEDIAPORT=6011 [local] include=>affiliation exten=>_xxxxx,1,dial(sip/${exten}) exten=>_xxxxx,2,macro(dundi-lookup,${exten}) [priv-local] include=>sipregistration [affiliation] exten=>_871xxxxx,1,set(dest=${dundilookup(${exten:3},virtsip,b)}) exten=>_871xxxxx,2,gotoif($["${dest}" = ""]?6:3) exten=>_871xxxxx,3,system(sh /etc/asterisk/sippscr/rdaff ${EXTEN:3} ${DEST}) exten=>_871xxxxx,4,wait,4 exten=>_871xxxxx,5,goto(1) exten=>_871xxxxx,6,system(sh /etc/asterisk/sippscr/aff_init ${EXTEN:3} ${LOCALPORT} ${MEDIAPORT}) exten=>_871xxxxx,7,wait,2 exten=>_871xxxxx,8,system(sh /etc/asterisk/sippscr/aff_serv ${EXTEN:3} ${CALLERID(num)} ${LOCALPORT} ${MEDIAPORT}) exten=>_871xxxxx,9,set(global(localport)=$[${localport}+1]) exten=>_871xxxxx,10,set(global(mediaport)=$[${mediaport}+10]) exten=>_871xxxxx,11,answer exten=>_871xxxxx,12,wait,5 exten=>_871xxxxx,13,hangup [default] include=>local [sipregistration] exten=>_xxxxx,2,dial(sip/${exten},10) exten=>_xxxxx,3,hangup exten=>_xxxxx,103,hangup [dundi-incoming] include=>sipregistration 24
30 [dundi-lookup] switch=>dundi/virtsip ; ;MACRO-BLOCK ; [macro-dundi-lookup] ;check local context first, then lookup in a dundi context exten=>s,1,goto(${arg1},1) include=>priv-local include=>dundi-lookup A.2 sip.conf [general] context = local allow=all regcontext=sipregistration bindport=5060 autocreatepeer=yes insecure=very A.3 dundi.conf Code example from node 4 in the test network: [general] organization=ethz locality=zurich country=ch [email protected] bindaddr= port=4520 entityid=ff:00:00:00:00:04 cachetime=2 ttl=32 autokill=yes A.2 sip.conf 25
31 [mappings] ;04->01 [FF:00:00:00:00:01] model=symmetric host= outkey=keyuml4 inkey=keyuml1 include=all permit=all qualify=yes order=primary ;04->05 [FF:00:00:00:00:05] model=symmetric host= outkey=keyuml4 inkey=keyuml5 include=all permit=all qualify=yes order=primary ;04->07 [FF:00:00:00:00:07] model=symmetric host= outkey=keyuml4 inkey=keyuml7 include=all permit=all qualify=yes order=primary A.4 iax.conf Code example for node 4 in the test network: [general] port=4569 bindaddr= bindaddr= bindaddr= A.4 iax.conf 26
32 [dundi] type=friend dbsecret=dundi/secret context=sipregistration disallow=all allow=ulaw allow=g726 allow=all [priv] type=friend dbsecret=dundi/secret context=dundi-incoming disallow=all allow=ulaw allow=g726 allow=all A.5 SIPp scenario of redirection server <?xml version="1.0" encoding="iso "?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> <scenario name="asterisk Wait INVITE"> <recv request="invite" crlf="true"> </recv> <send> <![CDATA[ SIP/ sip:[local_ip] SIP/2.0 Via: SIP/2.0/UDP [local_ip]:[local_port] Max-Forwards:5 [last_to:] [last_from:] Call-ID: [call_id] [last_cseq:] ]]> </send> <send> <![CDATA[ SIP/ sip:[local_ip] SIP/2.0 Via: SIP/2.0/UDP [local_ip]:[local_port] Max-Forwards:5 [last_to:] A.5 SIPp scenario of redirection server 27
33 [last_from:] Call-ID: [call_id] [last_cseq:] Contact: Expires: 10 Content-Length:0 ]]> </send> <recv response="200" optional="true"> </recv> <recv request="ack"> </recv> </scenario> A.5 SIPp scenario of redirection server 28
34 B Tests B.1 Test sequences B.1.1 Function testing 1. Not affiliated Telephone A looks up the number No physical telephone is returned 2. Affiliation on same switch The number is affiliated to telephone B. Telephone A looks up the number The physical telephone number is returned 3. Affiliation on a neighbour switch The number is affiliated to telephone C Telephone A looks up the number The physical telephone number is returned 4. Affiliation on a remote Switch The number is affiliated to telephone D. Telephone A looks up the number The physical telephone number is returned 5. Mobility to the same switch with disaffiliation The number is affiliated to telephone C. The number is disaffiliated from telephone C. The number is affiliated to telephone B. Telephone A looks up the number The physical telephone number is returned 29
35 6. Mobility to a neighbour switch with disaffiliation The number is affiliated to telephone B. The number is disaffiliated from telephone B. The number is affiliated to telephone C. Telephone A looks up the number The physical telephone number is returned 7. Mobility to a remote switch with disaffiliation The number is affiliated to telephone B. The number is disaffiliated from telephone B. The number is affiliated to telephone D. Telephone A looks up the number The physical telephone number is returned 8. Mobility to the same switch without disaffiliation The number is affiliated to telephone C. The number is affiliated to telephone B. Telephone A looks up the number The physical telephone number is returned 9. Mobility to a neighbour switch without disaffiliation The number is affiliated to telephone B. The number is affiliated to telephone C. Telephone A looks up the number The physical telephone number is returned 10. Mobility to a remote switch without disaffiliation The number is affiliated to telephone B. The number is affiliated to telephone D. Telephone A looks up the number The physical telephone number is returned B.1 Test sequences 30
36 B.1.2 Failover and Recovery Testing 1. Isolated switch, reachable affiliation Node 10 is stopped The number is affiliated to telephone B. Telephone A looks up the number The physical telephone number is returned 2. Isolated switch, unreachable affiliation Node 10 is stopped The number is affiliated to telephone D. Telephone A looks up the number No affiliation information is returned 3. Isolated pair of switches, reachable affiliation Node 07 is stopped The number is affiliated to telephone C. Telephone A looks up the number The physical telephone number is returned 4. Isolated pair of switches, unreachable affiliation Node 07 is stopped The number is affiliated to telephone D. Telephone A looks up the number No affiliation information is returned 5. Partitioned network, reachable affiliation Link 1317 is removed The number is affiliated to telephone C. B.1 Test sequences 31
37 Telephone A looks up the number The physical telephone number is returned 6. Partitioned network, unreachable affiliation Link 1317 is removed The number is affiliated to telephone D. Telephone A looks up the number No affiliation information is returned 7. Isolated node, recovering from partitioning, no mobility Link 1011 is removed and the network is allowed to reach steady state. The number is affiliated to telephone D. Link 1011 is restored and the network is allowed to reach steady state. Telephone A looks up the number The physical telephone number is returned 8. Isolated node, recovering from partitioning, with mobility The number is affiliated to telephone C. Link 1011 is removed and the network is allowed to reach steady state. The number is affiliated to telephone D. Link 1011 is restored and the network is allowed to reach steady state. Telephone A looks up the number The physical telephone number is returned 9. Recovering from partitioned network, no mobility Link 1317 is removed and the network is allowed to reach steady state. The number is affiliated to telephone D. Link 1011 is restored and the network is allowed to reach steady state. Telephone A looks up the number The physical telephone number is returned B.1 Test sequences 32
38 10. Recovering from partitioned network, with mobility The number is affiliated to telephone C. Link 1317 is removed and the network is allowed to reach steady state. The number is affiliated to telephone D. Link 1317 is restored and the network is allowed to reach steady state. Telephone A looks up the number The physical telephone number is returned 11. Operation with many link failures The number is affiliated to telephone B. The links 0708, 0405, 0203, 0506, 0917, 0617 and 1316 are removed and the network is allowed to reach steady state. The number is affiliated to telephone D. Telephone A looks up the number The physical telephone number is returned 12. Operation with many node failures The number is affiliated to telephone B. The nodes 05, 06, 08, 09, 12, 14 and 15 are stopped and the network is allowed to reach steady state. The number is affiliated to telephone D. Telephone A looks up the number The physical telephone number is returned B.2 Test protocols B.2.1 Functionality testing ASTERISK NUMBER AFFILIATION AND DISCOVERY TEST Mon Jun 18 12:47:38 UTC 2007 DISAFFILIATION OF ALL RECENT NUMBERS B.2 Test protocols 33
39 disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number NOT AFFILIATED expected number: no number tries to look up lookup gives no result (503 service unavailable) 2. AFFILIATION ON SAME SWITCH expected number: affiliated to tries to look up mapped number to lookup successful 3. AFFILIATION ON NEIGHBOUR SWITCH expected number: affiliated to tries to look up mapped number to lookup successful 4. AFFILIATION ON REMOTE SWITCH expected number: affiliated to tries to look up mapped number to lookup successful 5. MOBILITY TO THE SAME SWITCH WITH DISAFFILIATION expected number: affiliated to disaffiliated number affiliated to tries to look up mapped number to B.2 Test protocols 34
40 ...lookup successful 6. MOBILITY TO A NEIGHBOUR SWITCH WITH DISAFFILIATION expected number: affiliated to disaffiliated number affiliated to tries to look up mapped number to lookup successful 7. MOBILITY TO A REMOTE SWITCH WITH DISAFFILIATION expected number: affiliated to disaffiliated number affiliated to tries to look up mapped number to lookup successful 8. MOBILITY TO THE SAME SWITCH W/O DISAFFILIATION expected number: affiliated to affiliated to tries to look up mapped number to lookup successful 9. MOBILITY TO A NEIGHBOUR SWITCH W/O DISAFFILIATION expected number: affiliated to affiliated to tries to look up mapped number to lookup successful 10. MOBILITY TO A REMOTE SWITCH W/O DISAFFILIATION expected number: affiliated to affiliated to tries to look up mapped number to lookup successful B.2 Test protocols 35
41 B.2.2 Failover and Recovery Testing ASTERISK FAILOVER AND RECOVERY TEST Mon Jun 18 18:09:11 CEST disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number disaffiliated number ISOLATED SWITCH, REACHABLE AFFILIATION expected number: Node 10 stopped affiliated to tries to look up mapped number to lookup successful 2. ISOLATED SWITCH, UNREACHABLE AFFILIATION expected number: no number Node 10 stopped affiliated to tries to look up lookup gives no relult (503 service unavailable) 3. ISOLATED PAIR OF SWITCHES, REACHABLE AFFILIATION expected number: Node 7 stopped affiliated to tries to look up mapped number to lookup successful B.2 Test protocols 36
42 4. ISOLATED PAIR OF SWITCHES, UNREACHABLE AFFILIATION expected number: no number Node 7 stopped affiliated to tries to look up lookup gives no relult (503 service unavailable) 5. PARTITIONED NETWORK, REACHABLE AFFILIATION expected number: Link stopped affiliated to tries to look up mapped number to lookup successful 6. PARTITIONED NETWORK, UNREACHABLE AFFILIATION expected number: no number Link stopped affiliated to tries to look up lookup gives no relult (503 service unavailable) 7. ISOL. NODE, RECOV. FROM PART. NETWORK expected number: Link stopped affiliated to Link restored tries to look up mapped number to lookup successful 8. ISOL. NODE, RECOV. FROM PARTIT., WITH MOBILITY expected number: affiliated to Link stopped affiliated to Link restored tries to look up mapped number to lookup successful B.2 Test protocols 37
43 9. RECOVERING FROM PART. NETWORK, NO MOBILITY expected number: Link stopped affiliated to Link restored tries to look up mapped number to lookup successful 10. RECOVERING FROM PART. NETWORK, WITH MOBILITY // problem case A expected number: affiliated to Link stopped affiliated to Link restored tries to look up mapped number to lookup successful 11. OPERATING WITH MANY LINK FAILURES // problem case B expected number: affiliated to Links are stopped affiliated to tries to look up mapped number to lookup successful 12. OPERATING WITH MANY NODE FAILURES expected number: affiliated to Links are stopped affiliated to tries to look up mapped number to lookup successful B.2 Test protocols 38
DUNDi, So Easy A Caveman Could Do It!
DUNDi, So Easy A Caveman Could Do It! General Description JR Richardson Engineering for the Masses [email protected] DUNDi is a peer-to-peer system for locating Internet gateways to telephony services.
Using DUNDi with a Cluster of Asterisk Servers! General Description and Scope
Using DUNDi with a Cluster of Asterisk Servers! General Description and Scope DUNDi is a peer-to-peer system for locating Internet gateways to telephony services. Unlike traditional centralized services
Introduction. What is DUNDi? Configuring Asterisk for use with DUNDi
Introduction This paper will explore how to configure and setup the DUNDi directory service on your Asterisk PBX system. DUNDi is not very hard to configure in Asterisk, however at the time of this writing,
VoIP Laboratory A Creating a local private telephony network in a rural community
VoIP Laboratory A Creating a local private telephony network in a rural community (cc) Creative Commons Share Alike Non Commercial Attribution 3 This laboratory focus on building local Voice infrastructure
Implementing Intercluster Lookup Service
Appendix 11 Implementing Intercluster Lookup Service Overview When using the Session Initiation Protocol (SIP), it is possible to use the Uniform Resource Identifier (URI) format for addressing an end
Trunks User Guide. Schmooze Com Inc.
Schmooze Com Inc. Chapters Overview Logging In Adding a SIP Trunk Adding a DAHDi Trunk Adding an IAX2 Trunk Adding an ENUM Trunk Adding a DUNDi Trunk Adding a Custom Trunk Recap Examples Overview The Trunks
Copyright ZYCOO All Rights Reserved 1 / 8
Copyright ZYCOO All Rights Reserved 1 / 8 If you have a scenario where you have two CooVox IP PBXs in two different locations then you can integrate them together to make free phone calls between locations.
Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.
Course Name: TCP/IP Networking Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network. TCP/IP is the globally accepted group of protocols
Internet Firewall CSIS 4222. Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS 4222. net15 1. Routers can implement packet filtering
Internet Firewall CSIS 4222 A combination of hardware and software that isolates an organization s internal network from the Internet at large Ch 27: Internet Routing Ch 30: Packet filtering & firewalls
Feature and Technical
BlackBerry Mobile Voice System for SIP Gateways and the Avaya Aura Session Manager Version: 5.3 Feature and Technical Overview Published: 2013-06-19 SWD-20130619135120555 Contents 1 Overview...4 2 Features...5
Technical Configuration Notes
MITEL SIPCoE Technical Configuration Notes Configure Inn-Phone SIP Phone for use with MCD SIP CoE NOTICE The information contained in this document is believed to be accurate in all respects but is not
Mediatrix 3000 with Asterisk June 22, 2011
Mediatrix 3000 with Asterisk June 22, 2011 Proprietary 2011 Media5 Corporation Table of Contents Introduction... 3 Network Topology... 3 Equipment Detail... 3 Configuration of the Fax Extension... 4 Configuration
Understand SIP trunk and registration in DWG gateway Version: 1.0 Dinstar Technologies Co., Ltd. Date: 2014. 09.29
Understand SIP trunk and registration in DWG gateway Version: 1.0 Dinstar Technologies Co., Ltd. Date: 2014. 09.29 http://www.dinstar.com 1 / 9 Contents Chapter 1: Authors and changes logs... 3 Chapter
Configuration Notes 283
Mediatrix 4400 Digital Gateway VoIP Trunking with a Legacy PBX June 21, 2011 Proprietary 2011 Media5 Corporation Table of Contents Table of Contents... 2 Introduction... 3 Mediatrix 4400 Digital Gateway
Building a Scalable Numbering Plan
Building a Scalable Numbering Plan Scalable Numbering Plan This topic describes the need for a scalable numbering plan in a VoIP network. Dial Plans Dial plans contain specific dialing patterns for a user
DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager
DEPLOYMENT GUIDE Version 1.1 DNS Traffic Management using the BIG-IP Local Traffic Manager Table of Contents Table of Contents Introducing DNS server traffic management with the BIG-IP LTM Prerequisites
MODELLING OF INTELLIGENCE IN INTERNET TELEPHONE SYSTEM
MODELLING OF INTELLIGENCE IN INTERNET TELEPHONE SYSTEM Evelina Nicolova Pencheva, Vessela Liubomirova Georgieva Department of telecommunications, Technical University of Sofia, 7 Kliment Ohridski St.,
Configuration Notes 290
Configuring Mediatrix 41xx FXS Gateway with the Asterisk IP PBX System June 22, 2011 Proprietary 2011 Media5 Corporation Table of Contents Introduction... 3 About Mediatrix 41xx Series FXS Gateways...
IP PBX. SD Card Slot. FXO Ports. PBX WAN port. FXO Ports LED, RED means online
1 IP PBX SD Card Slot FXO Ports PBX LAN port PBX WAN port FXO Ports LED, RED means online 2 Connect the IP PBX to Your LAN Internet PSTN Router Ethernet Switch FXO Ports 3 Access the PBX s WEB GUI The
NCS 416 Paul Brennan Mohammed Haque IAX2 Trunking
NCS 416 Paul Brennan Mohammed Haque IAX2 Trunking Abstract This project explores setting up a server to interface between the PSTN and multiple Asterisk PBX systems. The server interfaces with the PSTN
Implementation of a Fully Functional VoIP Server Inside of a Campus Network
Implementation of a Fully Functional VoIP Server Inside of a Campus Network Prepared for Ronny L. Bull Lecturer, Computer Science Department SUNY Institute of Technology By Matthew Lapinski Student, NCS416
Grandstream Networks, Inc. UCM6510 Basic Configuration Guide
Grandstream Networks, Inc. UCM6510 Basic Configuration Guide Index Table of Contents OVERVIEW... 4 SETUP ENVIRONMENT... 5 QUICK INSTALLATION... 6 CONNECT UCM6510... 6 ACCESS UCM6510 WEB INTERFACE... 6
Technical Bulletin 43565 Using Polycom SoundPoint IP and Polycom SoundStation IP Phones with Asterisk
Technical Bulletin 43565 Using Polycom SoundPoint IP and Polycom SoundStation IP Phones with Asterisk Introduction This document provides introductory information on how to use Polycom SoundPoint IP phones
Smart Tips. Enabling WAN Load Balancing. Key Features. Network Diagram. Overview. Featured Products. WAN Failover. Enabling WAN Load Balancing Page 1
Smart Tips Enabling WAN Load Balancing Overview Many small businesses today use broadband links such as DSL or Cable, favoring them over the traditional link such as T1/E1 or leased lines because of the
Configuration Notes 0217
PBX Remote Line Extension using Mediatrix 1104 and 1204 Introduction... 2 Application Scenario... 2 Running the Unit Manager Network (UMN) Software... 3 Configuring the Mediatrix 1104... 6 Configuring
A Method for Implementing, Simulating and Analyzing a Voice over Internet Protocol Network
A Method for Implementing, Simulating and Analyzing a Voice over Internet Protocol Network Bianca Enache Communication Department Politehnica University of Timisoara Timisoara, Romania [email protected]
NAT TCP SIP ALG Support
The feature allows embedded messages of the Session Initiation Protocol (SIP) passing through a device that is configured with Network Address Translation (NAT) to be translated and encoded back to the
Using Asterisk with Odin s OTX Boards
Using Asterisk with Odin s OTX Boards Table of Contents: Abstract...1 Overview...1 Features...2 Conclusion...5 About Odin TeleSystems Inc...5 HeadQuarters:...6 Abstract Odin TeleSystems supports corporate
Tomás P. de Miguel DIT-UPM. dit UPM
Tomás P. de Miguel DIT- 15 12 Internet Mobile Market Phone.com 15 12 in Millions 9 6 3 9 6 3 0 1996 1997 1998 1999 2000 2001 0 Wireless Internet E-mail subscribers 2 (January 2001) Mobility The ability
BlackBerry Mobile Voice System. Version: 5.3. Administration Guide
BlackBerry Mobile Voice System Version: 5.3 Administration Guide Published: 2013-06-27 SWD-20130627112233808 Contents 1 Overview...7 2 Preparing to manage BlackBerry MVS user accounts... 8 3 Managing user
SAN Conceptual and Design Basics
TECHNICAL NOTE VMware Infrastructure 3 SAN Conceptual and Design Basics VMware ESX Server can be used in conjunction with a SAN (storage area network), a specialized high speed network that connects computer
Setup Guide: on the MyNetFone Service. Revision History
Setup Guide: on the MyNetFone Service Revision History Version Author Revision Description Release Date 1.0 Sampson So Initial Draft 02/01/2008 2.0 Sampson So Update 27/09/2011 1 Table of Contents Introduction...
Chapter 4. Distance Vector Routing Protocols
Chapter 4 Distance Vector Routing Protocols CCNA2-1 Chapter 4 Note for Instructors These presentations are the result of a collaboration among the instructors at St. Clair College in Windsor, Ontario.
How To Understand and Configure Your Network for IntraVUE
How To Understand and Configure Your Network for IntraVUE Summary This document attempts to standardize the methods used to configure Intrauve in situations where there is little or no understanding of
Configuring SIP Trunk Failover in AOS
6AOSCG0023-29A October 2011 Configuration Guide Configuring SIP Trunk Failover in AOS This configuration guide describes the configuration and implementation of Session Initiation Protocol (SIP) trunk
VoIP Security regarding the Open Source Software Asterisk
Cybernetics and Information Technologies, Systems and Applications (CITSA) 2008 VoIP Security regarding the Open Source Software Asterisk Prof. Dr.-Ing. Kai-Oliver Detken Company: DECOIT GmbH URL: http://www.decoit.de
VXLAN: Scaling Data Center Capacity. White Paper
VXLAN: Scaling Data Center Capacity White Paper Virtual Extensible LAN (VXLAN) Overview This document provides an overview of how VXLAN works. It also provides criteria to help determine when and where
Overview of Asterisk (*) Jeff Gunther
Overview of Asterisk (*) Jeff Gunther Agenda Background Introduction to Asterisk and review the core components of it s architecture. Exploration of Asterisk s telephony and call features. Review some
ZyXEL IP PBX Support Note. ZyXEL IP PBX (X2002) VoIP. Support Notes
ZyXEL IP PBX (X2002) VoIP Support Notes Version 1.00 October 2008 1 Contents Overview ZyXEL IP PBX Support Note 1. How to manage and maintain your IPPBX?...3 1.1 Firmware Upgrade..3 1.2 Backing up your
Configuring the Transparent or Routed Firewall
5 CHAPTER This chapter describes how to set the firewall mode to routed or transparent, as well as how the firewall works in each firewall mode. This chapter also includes information about customizing
Telephony with an Asterisk phone system
Telephony with an phone system TALKATIVE An old computer is all you need to build your own do-it-yourself personal phone server. BY MARTIN LOSCHWITZ Technology that supports the easy exchange of audio
Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.
CEN 007C Computer Networks Fundamentals Instructor: Prof. A. Helmy Homework : Network Layer Assigned: Nov. 28 th, 2011. Due Date: Dec 8 th, 2011 (to the TA) 1. ( points) What are the 2 most important network-layer
Juniper Networks EX Series/ Cisco Catalyst Interoperability Test Results. May 1, 2009
Juniper Networks EX Series/ Cisco Catalyst Interoperability Test Results May 1, 2009 Executive Summary Juniper Networks commissioned Network Test to assess interoperability between its EX4200 and EX8208
HONEYD (OPEN SOURCE HONEYPOT SOFTWARE)
HONEYD (OPEN SOURCE HONEYPOT SOFTWARE) Author: Avinash Singh Avinash Singh is a Technical Evangelist currently worksing at Appin Technology Lab, Noida. Educational Qualification: B.Tech from Punjab Technical
LAB THREE STATIC ROUTING
LAB THREE STATIC ROUTING In this lab you will work with four different network topologies. The topology for Parts 1-4 is shown in Figure 3.1. These parts address router configuration on Linux PCs and a
IPChitChat VoIP Service User Manual
IPChitChat VoIP Service User Manual Document Owner: Netcloud Ltd Prepared By: Michael Date of Issue: 11 th June 2011 Version: V0.5 Copyright 2009 Netcloud Ltd Page 1 of 31 Netcloud are UK specialists in
7750 SR OS System Management Guide
7750 SR OS System Management Guide Software Version: 7750 SR OS 10.0 R4 July 2012 Document Part Number: 93-0071-09-02 *93-0071-09-02* This document is protected by copyright. Except as specifically permitted
Chapter 7. Address Translation
Chapter 7. Address Translation This chapter describes NetDefendOS address translation capabilities. Dynamic Network Address Translation, page 204 NAT Pools, page 207 Static Address Translation, page 210
ACD: Average Call Duration is the average duration of the calls routed bya a VoIP provider. It is a quality parameter given by the VoIP providers.
ACD: Average Call Duration is the average duration of the calls routed bya a VoIP provider. It is a quality parameter given by the VoIP providers. API: An application programming interface (API) is a source
Application Notes Rev. 1.0 Last Updated: January 9, 2015
SBC 1000/2000 Series Configuration Guide with Cisco Unified Call Manager v9.1 for Level 3 Voice Complete SM SIP Trunk Deployments Application Notes Rev. 1.0 Last Updated: January 9, 2015 Contents 1 Document
Configuration Guide for connecting the Eircom Advantage 4800/1500/1200 PBXs to the Eircom SIP Voice platform.
Configuration Guide for connecting the Eircom Advantage 4800/1500/1200 PBXs to the Eircom SIP Voice platform. 1 Contents Introduction.... 3 Installing the Applications Module... 4 Ordering a Licence for
Contents Introduction Why Fax over IP? How Real-time Fax over IP works Implementation with MessagePlus/Open Summary. About this document
Fax over IP Contents Introduction Why Fax over IP? How Real-time Fax over IP works Implementation with MessagePlus/Open Summary About this document This document describes how Fax over IP works in general
Wildix Management System (WMS) White Paper
Wildix Management System (WMS) White Paper February 2007 Author: Giuseppe Innamorato Wildix Management System White Paper Status: Draft 0.1 Page 1 Index: 1. Management Summary...3 2. Document purpose...3
Network Simulation Traffic, Paths and Impairment
Network Simulation Traffic, Paths and Impairment Summary Network simulation software and hardware appliances can emulate networks and network hardware. Wide Area Network (WAN) emulation, by simulating
OfficeMaster Gate (Virtual) Enterprise Session Border Controller for Microsoft Lync Server. Quick Start Guide
OfficeMaster Gate (Virtual) Enterprise Session Border Controller for Microsoft Lync Server Quick Start Guide October 2013 Copyright and Legal Notice. All rights reserved. No part of this document may be
Guideline for SIP Trunk Setup
Guideline for SIP Trunk Setup with ZONETEL Table of contents Sample sip.conf (it applies to asterisk 1.4.x)...3 Sample elastix setup... 3 Ports required... 4 Caller ID...4 FAQ... 5 After i dial out, the
SBC 1000/2000 Configuration Guide with Lync 2013 for Windstream/ LPAETEC SIP Trunk Deployments
SBC 1000/2000 Configuration Guide with Lync 2013 for Windstream/ LPAETEC SIP Trunk Deployments Application Notes Rev. 1.0 Last Updated: April 10, 2015 Revision Date Revised By Comments 0.1 12/03/2015 Roman
Application Notes Rev. 1.0 Last Updated: February 3, 2015
SBC 1000/2000 Series Configuration Guide with Cisco Unified Call Manager v8.6 for Level 3 Voice Complete SM Deployments Application Notes Rev. 1.0 Last Updated: February 3, 2015 Contents 1 Document Overview...
CHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION 1.0 Introduction Voice over Internet Protocol (VoIP) is the most popular in telecommunication technology. Nowadays, three million users use VoIP. It is estimated that the number
iview (v2.0) Administrator Guide Version 1.0
iview (v2.0) Administrator Guide Version 1.0 Updated 5/2/2008 Overview This administrator guide describes the processes and procedures for setting up, configuring, running and administering the iview Operator
Network Discovery Protocol LLDP and LLDP- MED
Network LLDP and LLDP- MED Prof. Vahida Z. Attar College of Engineering, Pune Wellesely Road, Shivajinagar, Pune-411 005. Maharashtra, INDIA Piyush chandwadkar College of Engineering, Pune Wellesely Road,
What communication protocols are used to discover Tesira servers on a network?
Understanding device discovery methods in Tesira OBJECTIVES In this application note, basic networking concepts will be summarized to better understand how Tesira servers are discovered over networks.
Network Discovery Protocol LLDP and LLDP- MED
Network LLDP and LLDP- MED Prof. Vahida Z. Attar College of Engineering, Pune Wellesely Road, Shivajinagar, Pune-411 005. Maharashtra, INDIA Piyush chandwadkar College of Engineering, Pune Wellesely Road,
How To Configure An Ip Trunk On Anconnect Sip Trunk On A Pc Or Mac Or Ip Trunk (For A Pbx) On A Ip Trunk With A Pbt (For An Ip) On An Ip Or Ip (For Pb
SIP TRUNKING PORTAL User Guide October 6, 2014 Version: 1.2 Table of Contents 1 INTRODUCTION... 3 2 CONFIGURING INDIVIDUAL PHONE NUMBERS... 4 2.1 Configuring a Call Forward... 4 2.2 Configuring a Per DID
Qfiniti Enterprise and VoIP for Avaya. Qfiniti Enterprise and VoIP. An etalk Technical White Paper
Qfiniti Enterprise and VoIP for Avaya Qfiniti Enterprise and VoIP An etalk Technical White Paper Table of Contents etalk Product Briefing...3 Integration Overview...3 VoIP Connection...4 Layer 2 Connectivity...4
User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream
User Manual Onsight Management Suite Version 5.1 Another Innovation by Librestream Doc #: 400075-06 May 2012 Information in this document is subject to change without notice. Reproduction in any manner
Link Gate SIP. (Firmware version 1.20)
Link Gate SIP (Firmware version 1.20) User guide v1.0 1 Content 2 1. Technical parameters - Dimensions 133 x 233 x 60 mm - Weight 850 g - Operating position various - Operating condition temperature: +5
Acano solution. Third Party Call Control Guide. March 2015 76-1055-01-E
Acano solution Third Party Call Control Guide March 2015 76-1055-01-E Contents Contents 1 Introduction... 3 1.1 How to Use this Guide... 3 1.1.1 Commands... 4 2 Example of Configuring a SIP Trunk to CUCM...
Fig. Setting up of a VoIP call. Fig. Experimental setup
Volume 5, Issue 6, June 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Asterisk VoIP Private
Route Discovery Protocols
Route Discovery Protocols Columbus, OH 43210 [email protected] http://www.cse.ohio-state.edu/~jain/ 1 Overview Building Routing Tables Routing Information Protocol Version 1 (RIP V1) RIP V2 OSPF
Understanding IP Faxing (Fax over IP)
Understanding IP Faxing (Fax over IP) A detailed technical overview of how VoIP technology and IP Faxing (Fax over IP) are changing the way organizations utilize existing network infrastructures for voice
WEB CONFIGURATION. Configuring and monitoring your VIP-101T from web browser. PLANET VIP-101T Web Configuration Guide
WEB CONFIGURATION Configuring and monitoring your VIP-101T from web browser The VIP-101T integrates a web-based graphical user interface that can cover most configurations and machine status monitoring.
Voice Mail. Objectives. When you finish this module, you will be able to:
Voice Mail 23 Objectives When you finish this module, you will be able to: Verify that the Embedded Voice Mail (EVM) application can record and play messages. Check the EVM health. Maintain the EVM system.
How To Understand The Concept Of Circuit Switching
Module 2 Communication Switching Lesson 2 Circuit Switching INSTRUCTIONAL OBJECTIVES GENERAL This lesson is aimed at developing the concept and application of circuit switching which is a very important
Peer-to-Peer SIP Mode with FXS and FXO Gateways
Peer-to-Peer SIP Mode with FXS and FXO Gateways New Rock s SIP based VoIP gateways with FXS and FXO ports support peer-to-peer mode which has many applications in deploying enterprise multi-site telephone
1 VoIP/PBX Axxess Server
- 1 1 VoIP/PBX Axxess Server The Axxess Server supports comprehensive Voice Over Internet Protocol network services, which are based on the Open Source Asterisk VoIP software. The Axxess Server VoIP telephony
Configuring the Edgewater 4550 for use with the Bluestone Hosted PBX
Configuring the Edgewater 4550 for use with the Bluestone Hosted PBX NOTE: This is an advisory document to be used as an aid to resellers and IT staff looking to use the Edgewater 4550 in conjunction with
Top-Down Network Design
Top-Down Network Design Chapter Five Designing a Network Topology Copyright 2010 Cisco Press & Priscilla Oppenheimer Topology A map of an internetwork that indicates network segments, interconnection points,
Practical Guide. How to setup VoIP Infrastructure using AsteriskNOW
Practical Guide How to setup VoIP Infrastructure using AsteriskNOW Table of Contents 1. Background...1 2. The VoIP scenarios...2 3. Before getting started...3 3.1 Training Kits...3 3.2 Software requirements...3
Ethernet. Ethernet. Network Devices
Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking
Instructor Notes for Lab 3
Instructor Notes for Lab 3 Do not distribute instructor notes to students! Lab Preparation: Make sure that enough Ethernet hubs and cables are available in the lab. The following tools will be used in
IP Office Technical Tip
IP Office Technical Tip Tip no: 188 Release Date: September 27, 2007 Region: GLOBAL Verifying IP Office SIP Trunk Operation IP Office back-to-back SIP Line testing IP Office Release 4.0 supports SIP trunking.
EZLoop IP-PBX Enterprise SIP Server
EZLoop IP-PBX Enterprise SIP Server Copyright 2007 Teletronics International, Inc. 2 Choke Cherry Road, Rockville, MD 20850 [email protected] www.teletronics.com CH1. Overview...4 1.1 Specifications...4
Contents. Specialty Answering Service. All rights reserved.
Contents 1 Introduction... 2 2 PBX... 3 3 IP PBX... 4 3.1 How It Works... 4 3.2 Functions of IP PBX... 5 3.3 Benefits of IP PBX... 5 4 Evolution of IP PBX... 6 4.1 Fuelling Factors... 6 4.1.1 Demands from
Troubleshooting Tools to Diagnose or Report a Problem February 23, 2012
Troubleshooting Tools to Diagnose or Report a Problem February 23, 2012 Proprietary 2012 Media5 Corporation Scope of this Document This Technical Bulletin aims to inform the reader on the troubleshooting
CSIS 3230. CSIS 3230 Spring 2012. Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture
Networking, its all about the apps! CSIS 3230 Chapter 2: Layer Concepts Chapter 5.4: Link Layer Addressing Networks exist to support apps Web Social ing Multimedia Communications Email File transfer Remote
Internet Telephony PBX System
Internet Telephony PBX System T1/E1 Gateway With IP PBX Application Copyright PLANET Technology Corporation. All rights reserved. Case 35: With IP PBX Application Head Office E1 PABX interconnect with
Micronet VoIP Solution with Asterisk
Application Note Micronet VoIP Solution with Asterisk 1. Introduction This is the document for the applications between Micronet units and Asterisk IP PBX. It will show you some basic configurations in
Disaster Recovery Design Ehab Ashary University of Colorado at Colorado Springs
Disaster Recovery Design Ehab Ashary University of Colorado at Colorado Springs As a head of the campus network department in the Deanship of Information Technology at King Abdulaziz University for more
VOIP TELEPHONY: CURRENT SECURITY ISSUES
VOIP TELEPHONY: CURRENT SECURITY ISSUES Authors: Valeriu IONESCU 1, Florin SMARANDA 2, Emil SOFRON 3 Keywords: VoIP, SIP, security University of Pitesti Abstract: Session Initiation Protocol (SIP) is the
NQA Technology White Paper
NQA Technology White Paper Keywords: NQA, test, probe, collaboration, scheduling Abstract: Network Quality Analyzer (NQA) is a network performance probe and statistics technology used to collect statistics
White paper. Reliable and Scalable TETRA networks
Abstract The evolution of TETRA networks towards an all- IP architecture is now a reality and has been accepted by even the most demanding users of TETRA technology. Although circuit switch based TETRA
Technical Configuration Notes
MITEL SIPCoE Technical Configuration Notes Configure Mitel UC360 SIP Phone and Mitel MCD for use with VidyoWay SIP CoE 13-4940-00228 NOTICE The information contained in this document is believed to be
Cisco EXAM - 300-075. Implementing Cisco IP Telephony and Video, Part 2 (CIPTV2) Buy Full Product. http://www.examskey.com/300-075.
Cisco EXAM - 300-075 Implementing Cisco IP Telephony and Video, Part 2 (CIPTV2) Buy Full Product http://www.examskey.com/300-075.html Examskey Cisco 300-075 exam demo product is here for you to test the
ShoreTel & AMTELCO Infinity Console via SIP Trunking (Native)
Product: ShoreTel AMTELCO Infinity Console I n n o v a t i o n N e t w o r k A p p N o t e IN-15063 Date : October, 2015 System version: ShoreTel 14.2 ShoreTel & AMTELCO Infinity Console via SIP Trunking
Vega 100G and Vega 200G Gamma Config Guide
Vega 100G and Vega 200G Gamma Config Guide This document aims to go through the steps necessary to configure the Vega SBC to be used with a Gamma SIP Trunk. When a SIP trunk is provisioned by Gamma a list
