The OpenR2 Guide – January 2010 - Version 0.3 Moisés Silva Alexandre Alencar http://www.libopenr2.org/ http://code.google.com/p/openr2/ 1. About this guide. OpenR2 is a library that implements the MFC/R2 signaling over E1 lines using the Zapata Telephony Interface, DAHDI and in the near future the OpenZAP TDM abstraction library. This document DOES NOT describe the programming interfacesprovided by OpenR2, please refer to the code for that :-) , and don't hesitate on asking me any question you may have. This document describes the installation of the library to be used by Asterisk and/or FreeSwitch. For questions regarding installation or deployment issues, please don't contact me directly, unless you are willing to pay me to give you support :-). Instead, use the Digium's asterisk-r2mailing list at: http://lists.digium.com/mailman/listinfo/asterisk-r2, or join IRC in irc.freenode.org in the #openr2 channel. I usually hang out there with the nick 'moy'. If there is an MFC/R2 variant that is not supported and you need (or is not working as expected), send me an e-mail. I also will appreciate any contribution or correction to this document and/or the library code itself. 2. Whatis MFC/R2? MFC/R2 is a telephony signaling widely used in Mexico, Brazil and other countries in Latin America and Asia. MFC/R2 stands for Multi Frequency Compelled R2. Compared to more recent signaling protocols like ISDN PRI/BRI or SS7, R2 offers a limited set of functionality. The signaling is only used to setup the call and bring it down. Some MFC/R2 variants may send billing pulses during thecall though, but those are rarely used. There is analog and digital MFC/R2 versions, any reference to MFC/R2 or R2 in this document refers to the digital version that uses E1 facilities. Most readers will not likely be interested in the analog version because is not widely used anymore. MFC/R2 is defined by the ITU, however most countires using MFC/R2 do not follow the ITU specification andimplement their own national variant. 3. How MFC/R2 works? Whether you are are a programmer that is going to use the library or system's administrator that is going to install it along with a telephony engine (ie Asterisk or FreeSwitch), it is a good idea to have a basic knowledge of how the signaling works, that will allow you to troubleshoot issues
easily. If you are not interested in this andjust want a quick guide to install OpenR2 and having it working with your telephony engine of choice, you can skip this section. MFC/R2 is a peer-to-peer signaling protocol, which means there are just 2 parties involved in an R2 E1 link and both parties behave in the same way, unlike PRI where you have the “NET” and “CPE” sides of the link. As mentioned before, MFC/R2 stands for Multi FrequencyCompelled R2. The name describes the nature of this signaling, where you have 2 types of signals: Line signals are used to monitor the state of the call and MF signals are used to transmit information of the call during the call setup (DNIS, ANI, Calling Party Category). Line signals are sent using CAS signals which travel using the channel 16 of the E1 link. All CAS signaling for each channel of theE1 is multiplexed through this channel. Each 2ms each side of the link update their 4 CAS signal bits known as the ABCD bits. MFC/R2 uses 2 of those 4 bits to send the following signals: Idle, Block, Seize, Seize Ack, Clear Back, Forced Release, Clear Forward, Answer. Just 2 bits for 7 possible signals is not possible without repeating a bit pattern, therefore some of this 7 R2 signals have thesame bit pattern, but that is not a problem considering that you cannot go from Idle to Forced Release for example, therefore, even when the bit pattern for Forced Release and Seize are the same, the protocol stack knows what the other end of the link wants. The reason to use just 2 bits having 4 available is historical and comes from the times when the analog version of MFC/R2 was ported to work...
Ler documento completo
Por favor, assinar para o acesso.