Wed, 10 Feb 2010 21:25:01 +0100
Extend uac_auth() of the UAC module to workaround CSEQ problems.
This logic is meant to complement that of changeset 17, which
added rich authentication credentials to the gw table and its
associated logic in the LCR module.
michael@13 | 1 | ISN (ITAD Subscriber Number) lookup integration contribution code |
michael@13 | 2 | |
michael@13 | 3 | Contribution |
michael@13 | 4 | |
michael@13 | 5 | This contribution introduces ISN formatting logic into the OpenSIPS |
michael@13 | 6 | ENUM module, allowing it to perform NAPTR based ISN lookups on the |
michael@13 | 7 | user part of the Request-URI in addition to the existing ENUM lookups. |
michael@13 | 8 | |
michael@13 | 9 | Rationale |
michael@13 | 10 | |
michael@13 | 11 | This extends the utility of the existing E.164 formatting logic which |
michael@13 | 12 | previously caused valid ISN lookups to fail (although the OpenSIPS |
michael@13 | 13 | documentation did suggest that lookups to freenum.org would succeed.) |
michael@13 | 14 | |
michael@13 | 15 | Compliance |
michael@13 | 16 | |
michael@13 | 17 | The author believes that the introduced logic complies with the |
michael@13 | 18 | relevant ITAD standards as defined by RFC 3872 and RFC 2871, however |
michael@13 | 19 | it seems that at this time ISN is rather loosely defined according to |
michael@13 | 20 | nonstandard documentation provided by freenum.org. |
michael@13 | 21 | |
michael@13 | 22 | Location |
michael@13 | 23 | |
michael@13 | 24 | http://scm.europalab.com/contrib/opensips/ |
michael@13 | 25 | http://scm.europalab.com/contrib/file/tip/opensips/ |
michael@13 | 26 | |
michael@13 | 27 | Instructions |
michael@13 | 28 | |
michael@13 | 29 | To integrate this contributed logic into the source code tree of |
michael@13 | 30 | a OpenSIPS distribution, download the unified diff and use the |
michael@13 | 31 | patch(1) command: |
michael@13 | 32 | |
michael@13 | 33 | $ cd /tmp && mkdir enum-patch && cd enum-patch |
michael@13 | 34 | $ wget http://scm.europalab.com/contrib/raw-file/tip/opensips/enum-isn.diff |
michael@13 | 35 | $ tar zxf /tmp/opensips-<version>-tls.tar.gz |
michael@13 | 36 | $ cd opensips-<version>-tls |
michael@13 | 37 | $ patch -p0 <../enum-isn.diff |
michael@13 | 38 | |
michael@14 | 39 | Testing |
michael@14 | 40 | |
michael@14 | 41 | A basic test of this contribution |
michael@14 | 42 | Once compiled and installed, a basic test of this contributed software |
michael@14 | 43 | involves calling the new exported function in the routing script of the |
michael@14 | 44 | OpenSIPS configuration file: |
michael@14 | 45 | |
michael@14 | 46 | # dial '1234*256' from a UAC first |
michael@14 | 47 | isn_query(); |
michael@14 | 48 | t_relay(); |
michael@14 | 49 | |
michael@14 | 50 | According to the freenum.org cookbook, the ISN '1234*256' is being |
michael@14 | 51 | provided for testing. After dialing the caller hears monkeys screaming. |
michael@14 | 52 | |
michael@13 | 53 | Disclaimer |
michael@13 | 54 | |
michael@13 | 55 | This software contribution is based on source code from OpenSIPS SVN |
michael@13 | 56 | revision 6511. The author makes no guarantees as to this contribution. |
michael@13 | 57 | A user who downloads and executes it does so at his own risk. |
michael@13 | 58 | |
michael@13 | 59 | Michael Schloh von Bennewitz |
michael@13 | 60 | http://michael.schloh.com/ |
michael@13 | 61 | Monday, 18. January 2010 |