Oh well, It's DOCSIS | docsis.org

You are here

Oh well, It's DOCSIS

8 posts / 0 new
Last post
emkowale
Oh well, It's DOCSIS

Hi all,

This may be a bit off topic, but it is DOCSIS. Using the Arris TMx02 EMTAs we provide VoIP to our customers using Asterisk. It works awesomely with the scripts and management software I've developed. It's time to add another functional feature. I'd like to add a "Bat Phone" feature. Adam West wasn't available so you guys will have to to do. To put it in nuts and bolts terms, I'd like to pick up the telephone receiver that is plugged into and Arris TMx02 EMTA and have it ring right to a reprogrammed number without having to dial. I've done this with Sipura MTAs, but can't figure out how to do it with the Arris EMTAs. Is there some sort of OID in a MIB somewhere in DOCSIS land?

Thanks,
emkowale

mbowe
Have you read the Arris

Have you read the Arris documentation?

"The SIP load includes support for specifying a hotline or warmline number in
the configuration file. A hotline automatically dials the specified number as
soon as the specified line goes off-hook; a warmline automatically dials the
specified number after providing dial tone for a specified amount of time.
Add the objects described below to the MTA configuration file to set up a
hotline or warmline for a specific line."

"1 In the configuration file, set the sipCfgPortWarmOrHotlineNumber
object to the phone number to dial. This object is specific to a line, so
it must be specified with the line number; for example,
sipCfgPortWarmOrHotlineNumber.2 for line 2.

2 In the configuration file, set the sipCfgPortWarmLineTimeout object
to the timeout value (in seconds) for a warmline, or to 0 for a hotline.
This object is specific to a line, so it must be specified with the line
number; for example, sipCfgPortWarmLlineTimeout.1 for line 1.

3 To allow the subscriber to specify a warmline number, add an entry to
the sipCfgDialFeatTable in the configuration file. The following
example specifies *53 as the feature code for warmline dialing,
enabling the feature on lines 1 and 2.
SnmpMib = sipCfgDialFeatName.15 warmline
SnmpMib = sipCfgDialFeatCode.15 "*53"
SnmpMib = sipCfgDialFeatTone.15 stutterTone
SnmpMib = sipCfgDialFeatActive.15 hexstr: 0.0.0.3

The sipCfgDialFeatActive object specifies the lines on which the
specified feature is active. It consists of a series of bits, with the least
significant bit corresponding to line 1. Other effects are:
• Setting the warmline feature code uses the value set in the sipCfg-
PortWarmLineTimeout MIB object for the timeout. If the object is
not set for a line in the configuration file, the default is 5 seconds.
• The sipCfgPortWarmOrHotlineNumber MIB object, whether set
in the configuration file or by the subscriber, shows the currentlyconfigured
warmline number. If the subscriber disables warmline,
This object contains a 0-length string.
"

"To configure a Warm Line, add the following lines to the configuration file:
SnmpMib sipCfgPortWarmOrHotlineNumber.1 7706669051
SnmpMib sipCfgPortWarmOrHotlineNumber.2 7706669050
SnmpMib sipCfgPortWarmLineTimeout.1 5
SnmpMib sipCfgPortWarmLineTimeout.2 5

To configure a Hot Line, add the following lines to the configuration file:
SnmpMib sipCfgPortWarmOrHotlineNumber.1 7706669051
SnmpMib sipCfgPortWarmOrHotlineNumber.2 7706669050
SnmpMib sipCfgPortWarmLineTimeout.1 0
SnmpMib sipCfgPortWarmLineTimeout.2 0
"

emkowale
Thanks.

I haven't had the luxury of this documentation. Where might one obtain this gem?

emkowale

kwesibrunee
Call up Arris 1-888-221-9797

Call up Arris 1-888-221-9797 and setup a support ID you can the be entitled to their firmware downloads (including Docs) and Packet Ace their Config File generator.

I am not sure if there is a cost involved, I think it depends on where you get modems, we get ours from NCTC shop and we got ours through them.

psmit
Arris and NCTC

Did you get your PacketACE license through the NCTC? I'm trying to get one through them without much luck so far (and we are a member).
And is there Arris support for PacketACE, or are you pretty much on your own with it? TIA for any input as usual.

Poge

kwesibrunee
It was quite a while ago

It was quite a while ago that I set it up, but what I can remember is:

When i called the first time, they asked for my contract Id, which I obviously did not have. They asked where we got our modems from, either direct or through the NCTC, I responded NCTC and they gathered some info from me, email, phone etc... In a few days I received the contract ID which has worked ever since. Earlier this year I got notification they were changing their access methods and I was prompted to setup a company ID which I did, but I have yet to be asked for this information when calling.

Packetace, is something Arris has to entitle your account for, then when you install it it generates a unique id that you have to call Arris with, they generate a license key based off of this which is unique to your system. So each location you install packetace you have to call Arris.

I have not had too much need to call them about packetace usage, but the few questions I asked were promptly answered by their support. Packetace comes with ~50 example config files so with everything from docsis1.0 to docsis3.0 and everything in between as well as several packetcable/sip configs too.

emkowale
Packetace is ok, but...

Hi,

I find it better to use docsis-0.9.5.tar.gz. First you need to figure out what you want to do with your config files (caller id, hotline, line1, line 2, etc...). Then you write up a text file:

Main
{
NetworkAccess 1;
ClassOfService
{
ClassID 1;
MaxRateDown 1000000;
MaxRateUp 256000;
PriorityUp 1;
PrivacyEnable 0;
}
MaxCPE 1;

SnmpMibObject mib-2.69.1.6.4.1.2.1 Integer 4 ; /* docsDevFilterIpStatus createAndGo */
SnmpMibObject mib-2.69.1.6.4.1.3.1 Integer 1 ; /* docsDevFilterIpControl discard */
SnmpMibObject mib-2.69.1.6.4.1.4.1 Integer 0 ; /* docsDevFilterIpIfIndex 0=ETH Cable USB */
SnmpMibObject mib-2.69.1.6.4.1.5.1 Integer 3 ; /* docsDevFilterIpDirection both */
SnmpMibObject mib-2.69.1.6.4.1.6.1 Integer 2 ; /* docsDevFilterIpBroadcast 1true=multicast/broadcast 2false=all traffic*/
SnmpMibObject mib-2.69.1.6.4.1.7.1 IPAddress 0.0.0.0 ; /* Source IP */
SnmpMibObject mib-2.69.1.6.4.1.8.1 IPAddress 0.0.0.0 ; /* Source netmask*/
SnmpMibObject mib-2.69.1.6.4.1.9.1 IPAddress 0.0.0.0 ; /* Dest IP*/
SnmpMibObject mib-2.69.1.6.4.1.10.1 IPAddress 0.0.0.0 ; /* Dest netmask*/
SnmpMibObject mib-2.69.1.6.4.1.11.1 Integer 6 ; /* docsDevFilterIpProtocol 1=icmp 6=tcp 17=udp 256=ANY protocol */
SnmpMibObject mib-2.69.1.6.4.1.12.1 Integer 0 ; /* docsDevFilterIpSourcePortLow */
SnmpMibObject mib-2.69.1.6.4.1.13.1 Integer 1024 ; /* docsDevFilterIpSourcePortHigh */
SnmpMibObject mib-2.69.1.6.4.1.14.1 Integer 0 ; /* docsDevFilterIpDestPortLow */
SnmpMibObject mib-2.69.1.6.4.1.15.1 Integer 1024 ; /* docsDevFilterIpDestPortHigh */

SnmpMibObject mib-2.69.1.6.4.1.2.1 Integer 4 ; /* docsDevFilterIpStatus createAndGo */
SnmpMibObject mib-2.69.1.6.4.1.3.1 Integer 1 ; /* docsDevFilterIpControl discard */
SnmpMibObject mib-2.69.1.6.4.1.4.1 Integer 0 ; /* docsDevFilterIpIfIndex 0=ETH Cable USB */
SnmpMibObject mib-2.69.1.6.4.1.5.1 Integer 3 ; /* docsDevFilterIpDirection both */
SnmpMibObject mib-2.69.1.6.4.1.6.1 Integer 2 ; /* docsDevFilterIpBroadcast 1true=multicast/broadcast 2false=all traffic*/
SnmpMibObject mib-2.69.1.6.4.1.7.1 IPAddress 0.0.0.0 ; /* Source IP */
SnmpMibObject mib-2.69.1.6.4.1.8.1 IPAddress 0.0.0.0 ; /* Source netmask*/
SnmpMibObject mib-2.69.1.6.4.1.9.1 IPAddress 0.0.0.0 ; /* Dest IP*/
SnmpMibObject mib-2.69.1.6.4.1.10.1 IPAddress 0.0.0.0 ; /* Dest netmask*/
SnmpMibObject mib-2.69.1.6.4.1.11.1 Integer 6 ; /* docsDevFilterIpProtocol 1=icmp 6=tcp 17=udp 256=ANY protocol */
SnmpMibObject mib-2.69.1.6.4.1.12.1 Integer 1900 ; /* docsDevFilterIpSourcePortLow */
SnmpMibObject mib-2.69.1.6.4.1.13.1 Integer 1900 ; /* docsDevFilterIpSourcePortHigh */
SnmpMibObject mib-2.69.1.6.4.1.14.1 Integer 1900 ; /* docsDevFilterIpDestPortLow */
SnmpMibObject mib-2.69.1.6.4.1.15.1 Integer 1900 ; /* docsDevFilterIpDestPortHigh */

SnmpMibObject mib-2.69.1.6.4.1.2.1 Integer 4 ; /* docsDevFilterIpStatus createAndGo */
SnmpMibObject mib-2.69.1.6.4.1.3.1 Integer 1 ; /* docsDevFilterIpControl discard */
SnmpMibObject mib-2.69.1.6.4.1.4.1 Integer 0 ; /* docsDevFilterIpIfIndex 0=ETH Cable USB */
SnmpMibObject mib-2.69.1.6.4.1.5.1 Integer 3 ; /* docsDevFilterIpDirection both */
SnmpMibObject mib-2.69.1.6.4.1.6.1 Integer 2 ; /* docsDevFilterIpBroadcast 1true=multicast/broadcast 2false=all traffic*/
SnmpMibObject mib-2.69.1.6.4.1.7.1 IPAddress 0.0.0.0 ; /* Source IP */
SnmpMibObject mib-2.69.1.6.4.1.8.1 IPAddress 0.0.0.0 ; /* Source netmask*/
SnmpMibObject mib-2.69.1.6.4.1.9.1 IPAddress 0.0.0.0 ; /* Dest IP*/
SnmpMibObject mib-2.69.1.6.4.1.10.1 IPAddress 0.0.0.0 ; /* Dest netmask*/
SnmpMibObject mib-2.69.1.6.4.1.11.1 Integer 6 ; /* docsDevFilterIpProtocol 1=icmp 6=tcp 17=udp 256=ANY protocol */
SnmpMibObject mib-2.69.1.6.4.1.12.1 Integer 2049 ; /* docsDevFilterIpSourcePortLow */
SnmpMibObject mib-2.69.1.6.4.1.13.1 Integer 2049 ; /* docsDevFilterIpSourcePortHigh */
SnmpMibObject mib-2.69.1.6.4.1.14.1 Integer 2049 ; /* docsDevFilterIpDestPortLow */
SnmpMibObject mib-2.69.1.6.4.1.15.1 Integer 2049 ; /* docsDevFilterIpDestPortHigh */

SnmpMibObject mib-2.69.1.6.4.1.2.1 Integer 4 ; /* docsDevFilterIpStatus createAndGo */
SnmpMibObject mib-2.69.1.6.4.1.3.1 Integer 1 ; /* docsDevFilterIpControl discard */
SnmpMibObject mib-2.69.1.6.4.1.4.1 Integer 0 ; /* docsDevFilterIpIfIndex 0=ETH Cable USB */
SnmpMibObject mib-2.69.1.6.4.1.5.1 Integer 3 ; /* docsDevFilterIpDirection both */
SnmpMibObject mib-2.69.1.6.4.1.6.1 Integer 2 ; /* docsDevFilterIpBroadcast 1true=multicast/broadcast 2false=all traffic*/
SnmpMibObject mib-2.69.1.6.4.1.7.1 IPAddress 0.0.0.0 ; /* Source IP */
SnmpMibObject mib-2.69.1.6.4.1.8.1 IPAddress 0.0.0.0 ; /* Source netmask*/
SnmpMibObject mib-2.69.1.6.4.1.9.1 IPAddress 0.0.0.0 ; /* Dest IP*/
SnmpMibObject mib-2.69.1.6.4.1.10.1 IPAddress 0.0.0.0 ; /* Dest netmask*/
SnmpMibObject mib-2.69.1.6.4.1.11.1 Integer 6 ; /* docsDevFilterIpProtocol 1=icmp 6=tcp 17=udp 256=ANY protocol */
SnmpMibObject mib-2.69.1.6.4.1.12.1 Integer 5297 ; /* docsDevFilterIpSourcePortLow */
SnmpMibObject mib-2.69.1.6.4.1.13.1 Integer 5297 ; /* docsDevFilterIpSourcePortHigh */
SnmpMibObject mib-2.69.1.6.4.1.14.1 Integer 5297 ; /* docsDevFilterIpDestPortLow */
SnmpMibObject mib-2.69.1.6.4.1.15.1 Integer 5297 ; /* docsDevFilterIpDestPortHigh */

}

Use the joy of the comments /* */ to leave yourself a bread crumb trail. BTW, the above is just a sample I pasted in. Not sure if it works or not. I just grabbed it for this example. Lastly just type:

docsis -e inputfile.txt keyfile.txt outputfile.bin

What I do for the keyfile.txt is just create a file with a space in it. One character.

The neat thing about this method vs pacekarse is that you can write your own software for it and you're not stuck using windows. Do real engineers use windows? :)

If you're a "large" company, I agree. Call Arris. If you have less than 2000 subs. Contact me. I've had to learn the hard way for about 15 years because I am "too small for Arris to deal with".

emkowale

kwesibrunee
docsis.sourceforge.net is an

docsis.sourceforge.net is an excellent project, but the learning curve can be quite steep with it and getting it compiled can be a chore.

If your looking for extensibility you should check out Docsis Config It allows you to create configs with a scripting language and will work on platforms docsis.sourceforge.net will not 64bit linux for example. Last time I used it a few years ago it was fairly feature complete. If something is missing the source is available and easily extended, I contributed the docsis-firewall module for it which David graciously allowed to be incorporated.

To be honest with you, I work for a small cable company <6k users and I use PacketAce for config generation, I do not have to generate many configs <50. I also use service classes so that bandwidth changes are done at the CMTS rather than in the config saves 90% of config editing. I am a Linux user most of the time but settle for using windows in this one case.

Log in or register to post comments