This document assumes that you have basic DOCSIS knowledge and that u'r not moron. In order to give traffic on upstream higher priority you can use following config. You will need docsis-0.9.2.tgz from http://docsis.sourceforge.net. Decompiled config file says it all. You have two classifiers UsPacketClassifier with ServiceFlowRef2 and Downstream PacketClassifier with ServiceFlowRef4. SchedType 5 (UGS_AD) is given to upstream that has higher priority. This way traffic that is going to destinatin 192.168.1.0/24 has higher priority (check out doc/ in docsis-0.9.2.tgz for tunnable parameters in UsServiceFlowRef2 - there are other things you can give higher priority -eg. port range) then other traffic on upstream which uses SchedType2 (BE or best efort which is docsis default scheduling type. For this traffic US has 128000 bit/s and downstream has 512000 bit/s. UGS upstream is given priorty and downstream has 48000bit/s. Btw. note: UGS Transmission/Request Policy require for all Service flow except BE 0 The Service flow must NOT use "all modems" broadcast request opportunities 1 The Service flow must NOT use priority multicast request opportunities 2 The Service flow must NOT use "Request data opportunities" for request 3 The Service flow must NOT use "Request data opportunities" for data 4 The Service flow must NOT use piggyback request with data 5 The Service flow must NOT concatenate data 6 The Service flow must NOT fragment data 7 The Service flow must NOT suppress payload 8 The Service flow must drop packet that do not fit in the UGS all other reserved bit order 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 | reserved | /* fig 1*/ -------------------------------8<--------------------------------------------------- Main { DownstreamFrequency 738000000; NetworkAccess 1; MaxCPE 1; UsPacketClass { ClassifierRef 1; ServiceFlowRef 2; ActivationState 1; IpPacketClassifier { IpDstAddr 192.168.1.0; IpDstMask 255.255.255.0; } } DsPacketClass { ClassifierRef 4; ServiceFlowRef 4; ActivationState 1; IpPacketClassifier { IpSrcAddr 192.168.1.0; IpSrcMask 255.255.255.0; } } UsServiceFlow { UsServiceFlowRef 1; GenericTLV TlvCode 3 TlvLength 2 TlvValue 0x0001; QosParamSetType 7; MaxRateSustained 128000; MaxTrafficBurst 1600; SchedulingType 2; } UsServiceFlow { UsServiceFlowRef 2; GenericTLV TlvCode 3 TlvLength 2 TlvValue 0x0002; QosParamSetType 7; SchedulingType 5; /* UGS_AD */ RequestOrTxPolicy 0x000001ff; /* see fig 1. */ UnsolicitedGrantSize 500; /* 232 for g.711 is OK g.729 = 92 */ NominalPollInterval 20000; /* nominal interval between successive unicast request */ ToleratedPollJitter 10000; /* microseconds that the unicast request interval may be delayed from the nominal periodic sched */ NominalGrantInterval 20000; /* Nominal Grant Interval set to 20000usec = 20 ms */ ToleratedGrantJitter 10000; /* max microseconds that the transmission opportunities may be delayed from the nominal periodic */ GrantsPerInterval 1; /* How many simultanious VoIP calls? */ } DsServiceFlow { DsServiceFlowRef 3; GenericTLV TlvCode 3 TlvLength 2 TlvValue 0x0003; QosParamSetType 7; MaxRateSustained 512000; } DsServiceFlow { DsServiceFlowRef 4; GenericTLV TlvCode 3 TlvLength 2 TlvValue 0x0004; QosParamSetType 7; MaxRateSustained 48000; } GlobalPrivacyEnable 1; BaselinePrivacy { AuthTimeout 10; ReAuthTimeout 10; AuthGraceTime 600; OperTimeout 10; ReKeyTimeout 10; TEKGraceTime 600; AuthRejectTimeout 60; } } -----------------------------------8<----------------------------------------------- also note that if you are using Cisco UBRs that in running-config you have to have: cable qos permission create cable qos permission update cable qos permission modems and for cable privacy you have to have root-cert in boot-flash and cable privacy accept-self-signed-certificate From DOCS-QOS-MIB.mib which comes with docsis-0.9.2.tar.gz DocsQosParamSetEntry ::= SEQUENCE { docsQosParamSetServiceClassName DisplayString, docsQosParamSetPriority Integer32, docsQosParamSetMaxTrafficRate BitRate, docsQosParamSetMaxTrafficBurst Unsigned32, docsQosParamSetMinReservedRate BitRate, docsQosParamSetMinReservedPkt Integer32, docsQosParamSetActiveTimeout Integer32, docsQosParamSetAdmittedTimeout Integer32, docsQosParamSetMaxConcatBurst Integer32, docsQosParamSetSchedulingType SchedulingType, docsQosParamSetNomPollInterval Unsigned32, docsQosParamSetTolPollJitter Unsigned32, docsQosParamSetUnsolicitGrantSize Integer32, docsQosParamSetNomGrantInterval Unsigned32, docsQosParamSetTolGrantJitter Unsigned32, docsQosParamSetGrantsPerInterval Integer32, docsQosParamSetTosAndMask OCTET STRING, docsQosParamSetTosOrMask OCTET STRING, docsQosParamSetMaxLatency Unsigned32, docsQosParamSetType INTEGER, docsQosParamSetRequestPolicyOct OCTET STRING, docsQosParamSetBitMap BITS } docsQosParamSetNomPollInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the nominal interval in microseconds between successive unicast request opportunities on an upstream service flow. This object applies only to upstream service flows with schedulingType of value nonRealTimePollingService(3), realTimePollingService(4), and unsolictedGrantServiceWithAD(5). The parameter is mandatory for realTimePollingService(4). If the parameter is omitted with nonRealTimePollingService(3), the CMTS uses an implementation dependent value. If the parameter is omitted with unsolictedGrantServiceWithAD(5), the CMTS uses as a default value the value of the Nominal Grant Interval parameter. In all cases, the CMTS reports the value it is using when the parameter is applicable. The CM reports the signaled parameter value if it was signaled, and 0 otherwise. If the referenced parameter is not applicable to the direction or scheduling type of the corresponding DOCSIS QOS Parameter Set, both CMTS and CM report this object's value as 0. " REFERENCE "SP-RFIv1.1-I05-000714, Appendix C.2.2.6.4" ::= { docsQosParamSetEntry 15 } docsQosParamSetTolPollJitter OBJECT-TYPE SYNTAX Unsigned32 UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the maximum amount of time in microseconds that the unicast request interval may be delayed from the nominal periodic schedule on an upstream service flow. This parameter is applicable only to upstream service flows with a Schedulingtype of realTimePollingService(4) or unsolictedGrantServiceWithAD(5). If the referenced parameter is applicable but not present in the corresponding DOCSIS QOS Parameter Set, the CMTS uses an implementation dependent value and reports the value it is using. The CM reports a value of 0 in this case. If the parameter is not applicable to the direction or upstream scheduling type of the service flow, both CMTS and CM report this object's value as 0. " REFERENCE "SP-RFIv1.1-I05-000714, Appendix C.2.2.6.5" ::= { docsQosParamSetEntry 16 } docsQosParamSetUnsolicitGrantSize OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the unsolicited grant size in bytes. The grant size includes the entired MAC frame data PDU from the Frame Control byte to end of the MAC frame. The referenced parameter is applicable only for upstream flows with a SchedulingType of of unsolicitedGrantServicewithAD(5) or unsolicitedGrantService(6), and is mandatory when applicable. Both CMTS and CM report the signaled value of the parameter in this case. If the referenced parameter is not applicable to the direction or scheduling type of the corresponding DOCSIS QOS Parameter Set, both CMTS and CM report this object's value as 0. " REFERENCE "SP-RFIv1.1-I05-000714, Appendix C.2.2.6.6" ::= { docsQosParamSetEntry 17 } docsQosParamSetTolGrantJitter OBJECT-TYPE SYNTAX Unsigned32 UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the maximum amount of time in microseconds that the transmission opportunities may be delayed from the nominal periodic schedule. The referenced parameter is applicable only for upstream flows with a SchedulingType of of unsolicitedGrantServicewithAD(5) or unsolicitedGrantService(6), and is mandatory when applicable. Both CMTS and CM report the signaled value of the parameter in this case. If the referenced parameter is not applicable to the direction or scheduling type of the corresponding DOCSIS QOS Parameter Set, both CMTS and CM report this object's value as 0. " REFERENCE "SP-RFIv1.1-I05-000714, Appendix C.2.2.6.8" ::= { docsQosParamSetEntry 19 } docsQosParamSetNomGrantInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the nominal interval in microseconds between successive data grant opportunities on an upstream service flow. The referenced parameter is applicable only for upstream flows with a SchedulingType of of unsolicitedGrantServicewithAD(5) or unsolicitedGrantService(6), and is mandatory when applicable. Both CMTS and CM report the signaled value of the parameter in this case. If the referenced parameter is not applicable to the direction or scheduling type of the corresponding DOCSIS QOS Parameter Set, both CMTS and CM report this object's value as 0. " REFERENCE "SP-RFIv1.1-I05-000714, Appendix C.2.2.6.7" ::= { docsQosParamSetEntry 18 } Send me an e-mail if you need help. I hope that you can figure it out :)