I am attempting to set up Arris modems to do SIP to a Metaswitch with a Cisco UBr7246. We have data services running on motorolla CM's all is fine. I am not at all versed in Arris CM's. We will be using the TM6xx and TM5xx cable modems only for customer SIP VoIP services. I have several Arris config files and PacketAce for the file configurations but not sure which type of config I need.
Do the CM's boot a start-up CM file first then follow with a tftp load of a SIP config file or is everything in on config file?
Does anyone have working config files they would be interested in sharing?
Any help would be appreciated, Thanks.
James,
By default the Arris TM* modems do not come with SIP firmware loaded. They default to NCS if I remember right. The first thing you need to do is contact Arris support for that firmware if you don't have it already. With that firmware comes 100's of pages of documentation that explain every intricate little detail. You have the option to put the config entirely in one file, or to have the modem boot from one config, and the MTA boot from another config (which is how we do it).
We are also running Arris TM5,6,7 modems using SIP to a MetaSwitch with ISC-DHCPd on Linux. I prefer to use the open source DOCSIS encoder found on sourceforge (http://docsis.sourceforge.net/) but I have PacketAce too and would be happy to help you out.
The process looks something like this:
Modem boots, finds downstream/upstream, DHCP, Gets config from tftp, updates FW if available (specified in CM Config)
MTA boots, DHCP, downloads .bin from TFTP, logs into metaswitch
Getting these things set up and working right will take a while. Don't try to rush it.
--Ryan
Hello Ryan, please do you have the SW of TM601A for activate SIP interface? I cannot find it anywhere and Arris support doesn't answer me. I would be very thankful if you could help me.
Thanks so much in advance
I wrote up some Arris SIP MTA provisioning info here :
http://www.docsis.org/comment/3063#comment-3063
Although that relates only to the DHCP side of things though
If you look through that thread or search the forums for Arris, you will find plenty of MTA config file examples
Or as already suggested, get your hands on the Arris doco. It's very good.
I have the TM602 attempting to boot but fails with a reject(c). From what I have found is this meand the CM boot file parms to not match on the 7246. I have attached the CM file is am using. Do I need to define service flows on the 7246 to match? If that is the case all I should need is to define a service flow for SIP as the Arris CM's will only be used for SIP deployments. Can anyone provide a sample service flow definition for a ubr7246, below is one I entered into the ubr.
cable service class 255 name SIP
cable service class 255 upstream
cable service class 255 sched-type 4
cable service class 255 max-concat-burst 1522
cable service class 255 req-trans-policy 1FF
cable service class 255 poll-interval 10000
cable service class 255 poll-jitter 4000
cable service class 255 tos-overwrite 1F E0
cable service class 255 max-rate 128000
cable service class 255 max-burst 2000
cable service class 255 min-rate 64000
cable service class 255 min-packet-size 100
cable service class 255 admission-timeout 30
cable service class 255 activity-timeout 30
cable service class 255 priority 7
SIP traffic uses a wide range of ports so if your going to classify it you have to do it by ip or subnet
here is a sample config for my sip modems
Main
{
NetworkAccess 1;
MaxCPE 3;
GlobalPrivacyEnable 1;
BaselinePrivacy
{
AuthTimeout 10;
ReAuthTimeout 10;
AuthGraceTime 600;
OperTimeout 10;
ReKeyTimeout 10;
TEKGraceTime 600;
AuthRejectTimeout 60;
SAMapWaitTimeout 1;
SAMapMaxRetries 4;
}
UsServiceFlow
{
UsServiceFlowRef 1;
QosParamSetType 7;
ServiceClassName "U_HS1";
}
DsServiceFlow
{
DsServiceFlowRef 101;
QosParamSetType 7;
ServiceClassName "D_HS1";
}
DocsisTwoEnable 1;
VendorSpecific
{
VendorIdentifier 0xffffff;
GenericTLV TlvCode 9 TlvLength 6 TlvValue 0x03040000ffff;
}
MfgCVCData 0x308203a63082028ea00302010202106c0943ec39872d8fecda6c489e5e9030300d06092a864886f70d0101050500308197310b300906035504061302555331393037060355040a133044617461204f766572204361626c65205365727669636520496e746572666163652053706563696669636174696f6e7331153013060355040b130c4361626c65204d6f64656d73313630340603550403132d444f43534953204361626c65204d6f64656d20526f6f7420436572746966696361746520417574686f72697479301e170d3031303931323030303030305a170d3133303931313233353935395a306a310b300906035504061302555331223020060355;
MfgCVCData 0x040a1319417272697320496e7465726163746976652c204c2e4c2e432e310f300d060355040b1306444f43534953312630240603550403131d436f646520566572696669636174696f6e20436572746966696361746530820122300d06092a864886f70d01010105000382010f003082010a0282010100d40c5aeacfd1e9ab5f9e5088ca835eeb487369852ccd9a92e2f7fde9b28caaca21189c0b696ce1f2666c0bc8c7183877ce519e527030daf8437538ec12caa44922472397f5259e067131d046f67b1e2b25ef37b443b89d3f86db6655252595c427a6d641db7b392e8e01d7bbdf73d2138a85553747d6c0685f76bc80c82e755f8acc87c65650a1;
MfgCVCData 0x492f14b48c97a806327949c5faaa438ac5f0a976474fd26cde4556d52bfa5dc7508fa7f150fa454c681f5108085296f2c94c371b57cd193e8939d6268c8cd96e3e8a06caba6d5cb82989c1751e21e77f09ca73da4daa1fde5bc68bed4b8eb5b0ea3abb23d4249790b2a093dde0806573138cbb99fdceb6ffc10203010001a31a301830160603551d250101ff040c300a06082b06010505070303300d06092a864886f70d0101050500038201010094f271a8bbbac1d7fc054260170b59f0b6ac9da70d0148699e0d240b033d9c34918f7737cd45b822edf9e1bec4c5b030d878b6378b5a7995d032e933ec0ae0db436a3f52181ffee08e0cd4f6201f1115;
MfgCVCData 0x0f4cf1bef41c9c58ef166582b5e7f1aa1afcd7badeb7b0097845c2d95ee89f66767f3bc080c2994e8c39ca9f22bcc22151ba9221b7ca87e81fdad3fcf48feb61c739ec751ac00afacd88ccc99d11ee6a96c5a591f625875ed7af60460e7330dee05ec183d1717af3f2702df0253fd1a49cbca6a654b37cb7846f91c11e3a83d1e68c28aa25a35d9849393b009b9a5328e5729017d35bb841d62f950007ba7d73e2fff4e14d0f3a49193805495714811b;
SnmpMibObject 1.3.6.1.4.1.4115.13.1.1.2.3.5.4.0 Integer 3; /* arrisCmDevHttpWanAccess advanced */
SnmpMibObject 1.3.6.1.2.1.69.1.3.3.0 Integer 2; /* docsDevSwAdminStatus allowProvisioningUpgrade */
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.2.0 Integer 2; /* arrisCmDevSwAdminStatus allowArrisProvisioningUpgrade */
SnmpMibObject 1.3.6.1.4.1.4115.1.3.3.1.2.3.6.0 Integer 9;/*arrisMtaDevProvMethodIndicator*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.3.1 String "TM402G" ;/*arrisCmDevSwHwModel*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.6.1 String "Arris/TS0601123_081811_NA.MODEL_4_5.SIP.p7b" ;/*arrisCmDevSwFilename*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.5.1 IPAddress 66.218.224.13 ;/*arrisCmDevSwServer*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.3.2 String "TM502G" ;/*arrisCmDevSwHwModel*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.6.2 String "Arris/TS0601123_081811_NA.MODEL_4_5.SIP.p7b" ;/*arrisCmDevSwFilename*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.5.2 IPAddress 66.218.224.13 ;/*arrisCmDevSwServer*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.3.4 String "WTM552G" ;/*arrisCmDevSwHwModel*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.6.4 String "Arris/TS0601123_081811_NA.MODEL_5_WR.SIP.p7b" ;/*arrisCmDevSwFilename*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.5.4 IPAddress 66.218.224.13 ;/*arrisCmDevSwServer*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.3.5 String "TM602G" ;/*arrisCmDevSwHwModel*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.6.5 String "Arris/TS0601123_081811_NA.MODEL_6.SIP.p7b" ;/*arrisCmDevSwFilename*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.5.5 IPAddress 66.218.224.13 ;/*arrisCmDevSwServer*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.3.6 String "TM604G" ;/*arrisCmDevSwHwModel*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.6.6 String "Arris/TS0601123_081811_NA.MODEL_6.SIP.p7b" ;/*arrisCmDevSwFilename*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.5.6 IPAddress 66.218.224.13 ;/*arrisCmDevSwServer*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.3.7 String "TM608G" ;/*arrisCmDevSwHwModel*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.6.7 String "Arris/TS0601123_081811_NA.MODEL_6_ML.SIP.p7b" ;/*arrisCmDevSwFilename*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.5.7 IPAddress 66.218.224.13 ;/*arrisCmDevSwServer*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.3.8 String "WTM652G" ;/*arrisCmDevSwHwModel*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.6.8 String "Arris/TS0601123_081811_NA.MODEL_6_WR.SIP.p7b" ;/*arrisCmDevSwFilename*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.5.8 IPAddress 66.218.224.13 ;/*arrisCmDevSwServer*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.3.9 String "TM508A" ;/*arrisCmDevSwHwModel*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.6.9 String "Arris/TS0601123_081811_NA.MODEL_5_ML.SIP.p7b" ;/*arrisCmDevSwFilename*/
SnmpMibObject 1.3.6.1.4.1.4115.1.3.1.1.4.1.1.5.9 IPAddress 66.218.224.13 ;/*arrisCmDevSwServer*/
UsServiceFlow
{
UsServiceFlowRef 2;
QosParamSetType 7;
ServiceClassName "U_VO";
}
UsPacketClass
{
ClassifierRef 100;
ServiceFlowRef 2;
ActivationState 1;
IpPacketClassifier
{
IpProto 257;
IpSrcAddr 0.0.0.0;
IpSrcMask 0.0.0.0;
IpDstAddr 216.229.65.36;
IpDstMask 255.255.255.255;
}
RulePriority 1;
}
DsServiceFlow
{
DsServiceFlowRef 102;
QosParamSetType 7;
ServiceClassName "D_VO";
}
DsPacketClass
{
ClassifierRef 102;
ServiceFlowRef 102;
RulePriority 1;
ActivationState 1;
IpPacketClassifier
{
IpProto 257;
IpSrcAddr 216.229.65.36;
IpSrcMask 255.255.255.255;
IpDstAddr 0.0.0.0;
IpDstMask 0.0.0.0;
}
}
SnmpMibObject 1.3.6.1.2.1.69.1.2.1.4.1 String "public" ;/*docsDevNmAccessCommunity*/
SnmpMibObject 1.3.6.1.2.1.69.1.2.1.7.2 Integer 4; /* docsDevNmAccessStatus createAndGo */
SnmpMibObject 1.3.6.1.2.1.69.1.2.1.6.2 HexString 0x4000 ;/*docsDevNmAccessInterfaces*/
SnmpMibObject 1.3.6.1.2.1.69.1.2.1.5.2 Integer 3; /* docsDevNmAccessControl readWrite */
SnmpMibObject 1.3.6.1.2.1.69.1.2.1.4.2 String "private" ;/*docsDevNmAccessCommunity*/
SnmpMibObject 1.3.6.1.2.1.69.1.2.1.7.1 Integer 4; /* docsDevNmAccessStatus createAndGo */
SnmpMibObject 1.3.6.1.2.1.69.1.2.1.6.1 HexString 0x4000 ;/*docsDevNmAccessInterfaces*/
SnmpMibObject 1.3.6.1.2.1.69.1.2.1.5.1 Integer 2; /* docsDevNmAccessControl read */
SnmpMibObject 1.3.6.1.2.1.69.1.6.3.0 Integer 2; /* docsDevFilterIpDefault accept */
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.15.2 Integer 445 ;/*docsDevFilterIpDestPortHigh*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.14.2 Integer 445 ;/*docsDevFilterIpDestPortLow*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.13.2 Integer 65535 ;/*docsDevFilterIpSourcePortHigh*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.12.2 Integer 0 ;/*docsDevFilterIpSourcePortLow*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.11.2 Integer 6 ;/*docsDevFilterIpProtocol*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.10.2 IPAddress 0.0.0.0 ;/*docsDevFilterIpDmask*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.9.2 IPAddress 0.0.0.0 ;/*docsDevFilterIpDaddr*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.8.2 IPAddress 0.0.0.0 ;/*docsDevFilterIpSmask*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.7.2 IPAddress 0.0.0.0 ;/*docsDevFilterIpSaddr*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.6.2 Integer 2; /* docsDevFilterIpBroadcast false */
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.5.2 Integer 3; /* docsDevFilterIpDirection both */
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.4.2 Integer 0 ;/*docsDevFilterIpIfIndex*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.3.2 Integer 1; /* docsDevFilterIpControl discard */
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.2.2 Integer 4; /* docsDevFilterIpStatuscreateAndGo */
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.15.1 Integer 139 ;/*docsDevFilterIpDestPortHigh*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.14.1 Integer 137 ;/*docsDevFilterIpDestPortLow*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.13.1 Integer 65535 ;/*docsDevFilterIpSourcePortHigh*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.12.1 Integer 0 ;/*docsDevFilterIpSourcePortLow*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.11.1 Integer 6 ;/*docsDevFilterIpProtocol*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.10.1 IPAddress 0.0.0.0 ;/*docsDevFilterIpDmask*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.9.1 IPAddress 0.0.0.0 ;/*docsDevFilterIpDaddr*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.8.1 IPAddress 0.0.0.0 ;/*docsDevFilterIpSmask*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.7.1 IPAddress 0.0.0.0 ;/*docsDevFilterIpSaddr*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.6.1 Integer 2; /* docsDevFilterIpBroadcast false */
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.5.1 Integer 3; /* docsDevFilterIpDirection both */
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.4.1 Integer 0 ;/*docsDevFilterIpIfIndex*/
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.3.1 Integer 1; /* docsDevFilterIpControl discard */
SnmpMibObject 1.3.6.1.2.1.69.1.6.4.1.2.1 Integer 4; /* docsDevFilterIpStatus createAndGo */
}
here is the service classes entered on the CMTS
cable service class 2 name U_HS1
cable service class 2 upstream
cable service class 2 sched-type 2
cable service class 2 req-trans-policy 8A
cable service class 2 max-rate 256000
cable service class 2 priority 1
cable service class 120 name U_VO
cable service class 120 upstream
cable service class 120 sched-type 2
cable service class 120 req-trans-policy 8A
cable service class 120 max-rate 512000
cable service class 120 max-burst 1600
cable service class 120 priority 7
cable service class 121 name D_HS1
cable service class 121 downstream
cable service class 121 max-rate 756000
cable service class 121 max-burst 3044
cable service class 121 priority 1
cable service class 241 name D_VO
cable service class 241 downstream
cable service class 241 max-rate 512000
cable service class 241 max-burst 1600
cable service class 241 priority 7
you set as much of the settings as possible on the CMTS, in the config all you reference is the name of the service class
With most eMTA (including Arris), you don't usually need to define service flows for the voice data.
Instead you can enable DSX / DQoS-Lite functions on the eMTA. This is where the eMTA talks to the CMTS with some simple PacketCable commands, and allows the creation of dynamic service flows for the voice calls.
These flows are usually superior to trying to hardcode the config file. The dynamic upstream flows will be UGS which is perfect for voice. The downstream flows will be boosted prio BE with reserved capacity. If you try to make equivalent flows in the config file you end up allocating bandwidth whether a call is in progress or not. Or if you try putting voice into BE flows on the upstream you can end up with jitter problems etc.
Then in the config file you would just create service flows for voice/SIP signalling (port 5060).
I would like see an example for the dynamic service flows if you could provide one.
Thanks
To activate DSX / DQoS Lite signalling on Arris D2 (eg v6.1) and Arris D3 (eg v7.x) :
In the MTA config file set bit 0x00004000 of SnmpMibObject ppCfgMtaCallpFeatureSwitch.0
Other brands of MTA have similar custom flags to enable this.
Then on the (Cisco) CMTS, you can optionally add a command such as :
packetcable authorize vanilla-docsis-mta
But from memory this isn't needed unless you are running full PacketCable for some items, and DSX / DQoS-lite for others.
Full PacketCable is used by commercial MTA provisioning like Cisco BACC and Incogneto BCC. Also used by some external dynamic traffic shaping tools.
If you have a full PacketCable system then you dont have to bother trying to use DSX / DQoS-lite :-)
If you aren't really sure, look for "packetcable multimedia" in the running conf. If that is there, then add the "packetcable authorize vanilla-docsis-mta" so the CMTS knows it can use either method.
Then in your cm config file, optionally put a service-flow and classifier to match the SIP signalling traffic. This would just allocate a small flow eg 64K at a boosted prio eg 5, so that SIP signalling can never by stomped on should the customer be flogging their link with other traffic like bittorrent.
/* SIP SIGNALLING */
DsServiceFlow
{
DsServiceFlowRef 101;
ServiceClassName "SIP-SIGNAL-DS";
QosParamSetType 7;
}
UsServiceFlow
{
UsServiceFlowRef 102;
ServiceClassName "SIP-SIGNAL-US";
QosParamSetType 7;
}
/* For the SIP server (eg asterisk) subnets, match signalling on port 5060 */
DsPacketClass
{
ServiceFlowRef 101;
ClassifierRef 101;
ActivationState 1;
IpPacketClassifier
{
IpProto 17;
IpSrcAddr x.x.x.0;
IpSrcMask 255.255.255.0;
DstPortStart 5060;
DstPortEnd 5060;
}
}
UsPacketClass
{
ServiceFlowRef 102;
ClassifierRef 102;
ActivationState 1;
IpPacketClassifier
{
IpProto 17;
IpDstAddr x.x.x.0;
IpDstMask 255.255.255.0;
DstPortStart 5060;
DstPortEnd 5060;
}
}
On CMTS :
cable service class 64 name SIP-SIGNAL-DS
cable service class 64 downstream
cable service class 64 max-rate 64000
cable service class 64 priority 5
cable service class 65 name SIP-SIGNAL-US
cable service class 65 upstream
cable service class 65 sched-type 2
cable service class 65 max-concat-burst 10000
cable service class 65 max-rate 64000
cable service class 65 max-burst 10000
cable service class 65 priority 5
That's it, you don't try to match the voice data flows at all. These are created / removed on demand using DOCSIS DSx messaging
Before call :
Note the default service flows are setup here for unlimited speed (0) and prio 0. Only because this was done on a testing account. Normally you would have some sort of rate-limit on that...
Plus you can see the 2 x 64K flows set aside for voice signalling at prio 5
mycmts#show cable modem x.x.x.x qos
Sfid Dir Curr Sid Sched Prio MaxSusRate MaxBrst MinRsvRate Throughput
State Type
4703 US act 6417 BE 0 0 10000 0 1862
22041 US act 5878 BE 5 64000 10000 0 0
5682 DS act N/A BE 0 0 3044 0 0
210 DS act N/A BE 5 64000 3044 0 0
During call :
Notice the two additional flows
UGS for upstream part of the voice flow. (Much better than BE flows, which as susceptible to jitter and loss)
And a prio 5 BE one with reserved traffic for the downstream part.
You can see ~ 80Kbps going through them (G.711 voice data)
mycmts#show cable modem x.x.x.x qos
Sfid Dir Curr Sid Sched Prio MaxSusRate MaxBrst MinRsvRate Throughput
State Type
4703 US act 6417 BE 0 0 10000 0 1665
22041 US act 5878 BE 5 64000 10000 0 0
32375 US act 8083 UGS 0 0 0 0 81508
5682 DS act N/A BE 0 0 3044 0 273
210 DS act N/A BE 5 64000 3044 0 0
4699 DS act N/A BE 5 87200 1522 87200 86866
Hope that helps!
Oh one last thing I just remembered. Because these voice data flows use reserved traffic, if you are running a D3 CMTS, you have to ensure you have configured the dynamic bandwidth sharing to provide sufficient reservable capacity to handle your peak number of voice calls.
any chance in getting your listed text cm file in a form that I could use with packetAce?
I have now have the modem connected. I am on the next phase of the MTA setup. Right now it is attempting to boot to the tftp server. The TFTP server is offering from the wrong address pool. Below is a trace with tcpdump from the dhcp server.
12:04:26.363491 66.97.235.1.bootps > 216.147.166.24.bootps: [udp sum ok] (request) hops:1 xid:0x11619b58 G:66.97.235.1 ether 0:1d:cf:69:1:7a vend-rfc1048 DHCP:DISCOVER MSZ:984 VO:2.4.69.77.84.65.4.15.67.50.50.66.78.83.56.67.69.52.50.48.48.54.55.5.2.48.52.6.12.54.46.49.46.49.50.57.84.46.83.73.80.7.5.48.54.46.50.52.8.3.0.29.207.9.6.84.77.54.48.50.71.10.25.65.114.114.105.115.32.73.110.116.101.114.97.99.116.105.118.101.44.32.76.46.76.46.67.46.31.6.0.29.207.105.1.122.32.4.0.0.121.220 VC:"pktc1.5:05220101010201020901010B0A010305060708090A0B0C0C01000D010110010912020007" PR:HN+DN+SM+DG+TZ+NS+LOG+T122 CID:[ether]00:1d:cf:69:01:7a (ttl 255, id 57735, len 984)
12:04:44.528379 Northwood-66-97-235-122.mlgc.com.bootpc > 216.147.166.24.bootps: [udp sum ok] xid:0x66443322 C:Northwood-66-97-235-122.mlgc.com ether 0:13:46:4b:d8:69 vend-rfc1048 DHCP:REQUEST CID:[ether]00:13:46:4b:d8:69 HN:"DI-524" FQDN:"DI-524" VC:"MSFT 98" PR:SM+DG+NS+DN (ttl 126, id 2191, len 498)
12:04:58.365513 66.97.235.1.bootps > 216.147.166.24.bootps: [udp sum ok] (request) hops:1 xid:0x11619b58 G:66.97.235.1 ether 0:1d:cf:69:1:7a vend-rfc1048 DHCP:DISCOVER MSZ:984 VO:2.4.69.77.84.65.4.15.67.50.50.66.78.83.56.67.69.52.50.48.48.54.55.5.2.48.52.6.12.54.46.49.46.49.50.57.84.46.83.73.80.7.5.48.54.46.50.52.8.3.0.29.207.9.6.84.77.54.48.50.71.10.25.65.114.114.105.115.32.73.110.116.101.114.97.99.116.105.118.101.44.32.76.46.76.46.67.46.31.6.0.29.207.105.1.122.32.4.0.0.121.220 VC:"pktc1.5:05220101010201020901010B0A010305060708090A0B0C0C01000D010110010912020007" PR:HN+DN+SM+DG+TZ+NS+LOG+T122 CID:[ether]00:1d:cf:69:01:7a (ttl 255, id 57737, len 984)
Telneting to the CM and it appears to not be seeing the DHCP requests:
MTA Dhcp OFFER
~~~~~~~~~~~~~~~~
Message type (op) /BOOTREQUEST=1, BOOTREPLY=2/:= 0
Hardware address type (htype) = 0
Hardware address length (hlen) = 0
Message hops (hops) = 0
Transaction ID (xid) = 0x0
Seconds elapsed since addr acq or renewal (secs) = 0
Flags (flags) = 0x0
MTA client IP Address (ciaddr) = 0.0.0.0
MTA client IP Address (yiaddr) = 0.0.0.0
Next server IP (siaddr) = 0.0.0.0
Relay agent IP (giaddr) = 0.0.0.0
Client HW Address (chaddr) = 00:00:00:00:00:00
Server host name (sname) =
Boot file name (file) =
Optional Parameters field (options) =
Option 00 (TLV): 00 00
MTA Dhcp REQUEST
~~~~~~~~~~~~~~~~
Message type (op) /BOOTREQUEST=1, BOOTREPLY=2/:= 0
Hardware address type (htype) = 0
Hardware address length (hlen) = 0
Message hops (hops) = 0
Transaction ID (xid) = 0x0
Seconds elapsed since addr acq or renewal (secs) = 0
Flags (flags) = 0x0
MTA client IP Address (ciaddr) = 0.0.0.0
MTA client IP Address (yiaddr) = 0.0.0.0
Next server IP (siaddr) = 0.0.0.0
Relay agent IP (giaddr) = 0.0.0.0
Client HW Address (chaddr) = 00:00:00:00:00:00
Server host name (sname) =
Boot file name (file) =
Optional Parameters field (options) =
Option 00 (TLV): 00 00
MTA Dhcp ACK
~~~~~~~~~~~~~~~~
Message type (op) /BOOTREQUEST=1, BOOTREPLY=2/:= 0
Hardware address type (htype) = 0
Hardware address length (hlen) = 0
Message hops (hops) = 0
Transaction ID (xid) = 0x0
Seconds elapsed since addr acq or renewal (secs) = 0
Flags (flags) = 0x0
MTA client IP Address (ciaddr) = 0.0.0.0
MTA client IP Address (yiaddr) = 0.0.0.0
Next server IP (siaddr) = 0.0.0.0
Relay agent IP (giaddr) = 0.0.0.0
Client HW Address (chaddr) = 00:00:00:00:00:00
Server host name (sname) =
Boot file name (file) =
You have to give the DHCP server enough info to work out which pool is correct
You have CM, MTA and CPE devices on the network
When you configure the bundle on the CMTS, you might have something like
int bundle1
ip address x.x.3.1/24 ! mta pool
ip address x.x.2.1/24 ! cpe pool
ip address x.x.1.1/24 ! cm pool
cable dhcp-giaddr policy
the dhcp-giaddr policy allows the cmts to set the DHCP giaddr for CM to be x.x.1.1, so your DHCP server would have a pool for x.x.1.0/24 and all is good (or use static reservations for CM MAC from this subnet)
then other devices would get the gi-addr set to x.x.2.1 by default so unless you have setup reservations for MTAs, the CPE and MTAs will all try to grab IP from x.x.2.0/24
you can force the MTA to go to x.x.3.0/24 by using static reservations for the MTA MAC, or config the DHCP server to sniff the DISCOVER option 60 and look for the string "pktc" and then send such requests to x.x.3.0/24 pool. (You can also use this technique to match on string "docsis" to send CM request to the CM pool if you wanted)
So yeah theres a few ideas. It really depends on your CMTS config and which DHCP server you are using.