Creating a Circuit ID Format
We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. Is there a guide or standard for fiber circuit formats? Does the circuit ID change when say a customer upgrades for 100Mbps to 1Gbps port? What do the larger carriers do? Any advice on creating a circuit ID format for a brand new fiber network? Originally we ran a CLEC using a LECs copper, and our circuit ID was historically a telephone number for DSL circuits. The ILEC had a complex method for assigning circuit IDs. I am sure anything will work as long as you keep track of it, but any advice would be great!
Colton Conor wrote:
What do the larger carriers do? Any advice on creating a circuit ID format for a brand new fiber network?
"Begin at the beginning", the King said, very gravely, "and go on till you come to the end: then stop." I suggest starting at "1". Feel free to pad with zeros as appropriate. Nick
On Mon, Aug 21, 2017 at 03:26:20PM -0500, Colton Conor wrote:
We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. Is there a guide or standard for fiber circuit formats? Does the circuit ID change when say a customer upgrades for 100Mbps to 1Gbps port?
I've seen a few different methods for this, the most common includes some form of the source/dest pop locations for the service delivery. an example: yy-chcgil-dllstx-xx where yy and xx may provide some more detail. the pop codes might include more detail about the equipment in use, same for yy/xx that might encode the underlying service/speeds or numbering in the case of multiple things involved. from the circuit-id you would be able to look up other details like underlying carriers, service or abstraction layers such as what routers/DWDM/fiber the service rides upon.
What do the larger carriers do? Any advice on creating a circuit ID format for a brand new fiber network?
I would stick with some variant of A-Z location data and leave any service speeds at the phy speed of the device, eg: don't call it 300m if it's 1G ethernet rate-limited.
Originally we ran a CLEC using a LECs copper, and our circuit ID was historically a telephone number for DSL circuits. The ILEC had a complex method for assigning circuit IDs.
I've seen a few different types over the years from ISDN to T1 to much faster services. They all have merit, but the key is to be usable and readble. Don't use both 0 and O for example, don't make case sensitive, avoid lookalikes like l and 1. I would even consider putting in a check digit if you are creating your own.
I am sure anything will work as long as you keep track of it, but any advice would be great!
- Jared -- Jared Mauch | pgp key available via finger from jared@puck.nether.net clue++; | http://puck.nether.net/~jared/ My statements are only mine.
On Mon, Aug 21, 2017 at 4:26 PM, Colton Conor <colton.conor@gmail.com> wrote:
We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. I am sure anything will work as long as you keep track of it, but any advice would be great!
Hi Colton, The key thing a circuit ID should inherently identify is whether or not the circuit is one of yours. Typically this is a two or three letter code in a particular position whose absence allows a tech to immediately realize that the ID the customer read out refers to something else. You might also consider putting a simple checksum in the circuit ID like the credit card companies do so that you can detect when an ID has been mis-entered. Finally, structure it with breaks (slashes, commas, spaces) so it can be read out over the phone without a high probability of error. It's easy to lose your place in a 20 digit number one digit after another after another. And when you write the database software, make sure the UI provides and accepts those breaks! Beyond that, there's no great value in not simply counting up by one. Your network's architecture will change over time so any architecture-based scheme will end up with confusing exceptions. Locality-based schemes aren't a whole lot better. Finally, there's a database principle called normalization: it means don't put the same information two places because inevitably one will end up disagreeing with the other. Put the customer's configuration (such as speed) in your database and leave it out of the circuit id. Regards, Bill Herrin -- William Herrin ................ herrin@dirtside.com bill@herrin.us Dirtside Systems ......... Web: <http://www.dirtside.com/>
Could start looking at the AT&T/Telecordia standards for this sort of thing... https://en.wikipedia.org/wiki/Circuit_ID http://www.centurylink.com/wholesale/systems/WebHelp/reference/circuit_id_fo... On 8/21/17 1:26 PM, Colton Conor wrote:
We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. Is there a guide or standard for fiber circuit formats? Does the circuit ID change when say a customer upgrades for 100Mbps to 1Gbps port?
What do the larger carriers do? Any advice on creating a circuit ID format for a brand new fiber network?
Originally we ran a CLEC using a LECs copper, and our circuit ID was historically a telephone number for DSL circuits. The ILEC had a complex method for assigning circuit IDs.
I am sure anything will work as long as you keep track of it, but any advice would be great!
More information for AT&T circuit IDs, could give some ideas: http://etler.com/docs/AT&T/ATTCCGTab11.pdf On Mon, Aug 21, 2017 at 7:41 PM, Tim Pozar <pozar@lns.com> wrote:
Could start looking at the AT&T/Telecordia standards for this sort of thing...
https://en.wikipedia.org/wiki/Circuit_ID http://www.centurylink.com/wholesale/systems/WebHelp/ reference/circuit_id_formats_guide.htm
We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. Is there a guide or standard for fiber circuit formats? Does the circuit ID change when say a customer upgrades for 100Mbps to 1Gbps port?
What do the larger carriers do? Any advice on creating a circuit ID
On 8/21/17 1:26 PM, Colton Conor wrote: format
for a brand new fiber network?
Originally we ran a CLEC using a LECs copper, and our circuit ID was historically a telephone number for DSL circuits. The ILEC had a complex method for assigning circuit IDs.
I am sure anything will work as long as you keep track of it, but any advice would be great!
On 21 August 2017 at 21:26, Colton Conor <colton.conor@gmail.com> wrote:
We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. Is there a guide or standard for fiber circuit formats? Does the circuit ID change when say a customer upgrades for 100Mbps to 1Gbps port?
What do the larger carriers do? Any advice on creating a circuit ID format for a brand new fiber network?
Originally we ran a CLEC using a LECs copper, and our circuit ID was historically a telephone number for DSL circuits. The ILEC had a complex method for assigning circuit IDs.
I am sure anything will work as long as you keep track of it, but any advice would be great!
In my opinion the circuit ID should be an abitrary (but unique) value and nothing more. As Nick suggested start at 1 and go up. If your company is called ABC Ltd then maybe have your first circuit ID as ABC00000001 and count up from there, it's as simple as that. For me, all the circuit ID should be is a record number/ID of a database entry and nothing more (or a search string). Some people like to have circuit IDs which include circuit types, or circuit speeds, or interface type, but as you asked, do you then change the circuit ID if the circuit speed changes, or the interface types changes, or the medium etc? No, it's just a pointer to a database record, KISS. Cheers, James.
On Tue, 22 Aug 2017, James Bensley wrote:
In my opinion the circuit ID should be an abitrary (but unique) value and nothing more. As Nick suggested start at 1 and go up. If your company is called ABC Ltd then maybe have your first circuit ID as ABC00000001 and count up from there, it's as simple as that.
For me, all the circuit ID should be is a record number/ID of a database entry and nothing more (or a search string). Some people like to have circuit IDs which include circuit types, or circuit speeds, or interface type, but as you asked, do you then change the circuit ID if the circuit speed changes, or the interface types changes, or the medium etc?
Agreed. I designed something similar at a previous employer, and it just used a date-coded ID with sequence number (ex: UOP 20170822.0001), and then all of the cross-connect details were recorded in a place that was better suited to capturing that sort of information. That would also allow us to re-use fiber paths when we upgraded 1G links to 10G, etc. This also included IDs that could reference other circuit IDs - including circuit IDs from other providers - so we could tie non-dark elements together, such as waves through DWDM gear end up riding on separate dark fiber paths on either side of the mux. The biggest obstacle was getting people to label fiber jumpers in the field, but that obstacle went away as people get a better understanding of it and having all of the cross-connects documented saved lots of time and frustration when having to search through a large patch field at 3 AM... jms
James Bensley wrote:
In my opinion the circuit ID should be an abitrary (but unique) value and nothing more. As Nick suggested start at 1 and go up. If your company is called ABC Ltd then maybe have your first circuit ID as ABC00000001 and count up from there, it's as simple as that.
there are a lot of ways of handling this, which broadly speaking break down into whether you want to encode data in your circuit ID or whether you want it to act as nothing more than an index on a database table. Regardless of what way you go about things, there are some parallel issues, including whether you want inline checksumming, whether you want random value increases or +1 increases, and whether you want an alphanumeric or strictly numeric ID. Alphanumeric can allow unique prefixes or suffixes to help identify who owns a circuit ID or what type it is, at the complexity of adding identifiers which can be misinterpreted over the phone. There are differing opinions on whether other information such as service type, node location, speed, etc should be encoded in the service name. Things that most people generally agree on include: - carefully splitting out service types. E.g. a fibre cable to a location is one ID; a wavelength on that service is another ID of another type; an IP transit service on that wave is a third ID, etc. - don't reuse IDs, ever. There are plenty of numbers out there. - don't change from one ID mechanism to another, if possible. Otherwise, for every well-reasoned suggestion to use a specific format, there are other well-reasoned arguments to do things in a different way. Choose one and stick with it. Nick
Things that most people generally agree on include:
- carefully splitting out service types. E.g. a fibre cable to a location is one ID; a wavelength on that service is another ID of another type; an IP transit service on that wave is a third ID, etc.
Definitely. We have one digit in our circuit ID which denotes the type to aid with quick identification. We also use a luhn-10 checksum digit at the end, which is optional on re-entry. This is really helpful when getting references over the phone. When written, it's with a hyphen so that it's clear that it's able to be dropped. A few things we also decided on: - Circuit references are purely numerical (although we prefix them with letters when written, those letters are not part of what makes the numbers unique in our business). The main reason for this is that they can easily be entered in a variety of *compact* barcode formats. Most label printers support this, and it saves loads of time in the datacentre when you can just scan the label on a circuit on a handheld PC. - Circuit references are always the same length. This way, if the checksum digit is being dropped (e.g. because it's coming from a non-human source like a barcode), we know that the checksum digit is missing. - The first digit is never a zero, to avoid silly mistakes if you're sorting them in Excel etc. - The first four digits are a simple date code of YYMM that the ID was generated. This is surprisingly handy when you're looking for a specific circuit reference in a list, and it sort of helps to spread the dataset out a bit. This is what ensures that it's a non-zero first digit for the next 80 years or so. The date code isn't a *requirement* of our format, however. Should we need more than 10,000 circuits per month, we'll just abandon the date coding. For those interested, our system looks like this: VCI-150600019-7 Any non [0-9] characters (including symbols) can be omitted. VCI : denotes that this circuit identifier corresponds to our business 1506 : date code 0001 : sequence number, incremented per circuit, per month 9 : circuit type 7 : checksum (optional) T
Excerpts from Colton Conor's message of August 21, 2017 10:26 pm:
We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. Is there a guide or standard for fiber circuit formats? Does the circuit ID change when say a customer upgrades for 100Mbps to 1Gbps port?
What do the larger carriers do? Any advice on creating a circuit ID format for a brand new fiber network?
Originally we ran a CLEC using a LECs copper, and our circuit ID was historically a telephone number for DSL circuits. The ILEC had a complex method for assigning circuit IDs.
I am sure anything will work as long as you keep track of it, but any advice would be great!
Hi, I see you have already received some very good suggestions. The key for me with circuit IDs are that they have to integrate well in your backend systems as well as your products. There is little point in creating a telcordia-like system if you will have trouble filling in all the fields in an automated way, just like it can be troublesome to keep an incrementing number accurate, if you don't have a good central database to track it in. Avoid creating a number system where the A-end and B-end is part of the ID if you have (or ever will have) logical multi-point circuits. Also avoid having circuit numbers that take assumptions of your country of operation if you ever have to deliver something cross-border. I happen to like the format of PREFIX-NUMBERS, where the prefix indicates some sort of broad type, and with such a form it is important not to have too restrictive prefix types. For example consider only having Fiber, Copper, and logical as types, or whatever makes sense in your operation. With too many similar types comes the risk of having disparity between what your circuit ID suggests, and what is actually out there. I would suggest that you keep separate IDs for the actual fiber in the ground, and the service the customer buys. That way you can track the customer subscription, modify the parameters of it, if the customer upgrades his speed, but separately track your fiber deployment. At a previous employer we had to implement Service IDs on an already existing network where everything previously had been using only the actual fiber IDs, and that was a painful process, so it's better to get these things right as early as possible. -- Best Regards Allan Eising IP Network Engineer NORDUnet A/S m: eising@nordu.net w: http://www.nordu.net
On Tue, Aug 22, 2017 at 3:36 AM, Allan Eising <eising@nordu.net> wrote:
it can be troublesome to keep an incrementing number accurate, if you don't have a good central database to track it in.
That reminds me: You will buy out other organizations' assets with other organizations' identifiers. When you build your central database, make sure it can accept the arbitrary circuit ID formats applied to your new property. Regards, Bill Herrin -- William Herrin ................ herrin@dirtside.com bill@herrin.us Dirtside Systems ......... Web: <http://www.dirtside.com/>
I don't know if it has any relation to your issue, but we use Circuit-ID to uniquely identify the access node plus the customer's access loop logical port on the access node. Access node can be either a DSLAM, a switch, an OLT, etc. You may have a look at BBF's TR-101 (section 3.9.3) or TR-156 (section 5.7) for syntax guide . -- Tassos Colton Conor wrote on 21/8/17 23:26:
We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. Is there a guide or standard for fiber circuit formats? Does the circuit ID change when say a customer upgrades for 100Mbps to 1Gbps port?
What do the larger carriers do? Any advice on creating a circuit ID format for a brand new fiber network?
Originally we ran a CLEC using a LECs copper, and our circuit ID was historically a telephone number for DSL circuits. The ILEC had a complex method for assigning circuit IDs.
I am sure anything will work as long as you keep track of it, but any advice would be great!
On Aug 22, 2017, at 12:01 PM, Tassos Chatzithomaoglou <achatz@forthnet.gr> wrote:
I don't know if it has any relation to your issue, but we use Circuit-ID to uniquely identify the access node plus the customer's access loop logical port on the access node. Access node can be either a DSLAM, a switch, an OLT, etc.
You may have a look at BBF's TR-101 (section 3.9.3) or TR-156 (section 5.7) for syntax guide .
My favorite circuit-ids were those from MFS where it had the service type (2 chars i think) + a pop-code + z pop-code + service count number. We could then tell what pop/facility everything was handed off at easily enough. I think my house even got a MFS pop code at one time due to the T1 which was there. - Jared
What's the intended use of the Circuit ID? Internal ID, Stickered Customer CPE; Planning to carry other carriers circuits? With so many virtual components in circuits now, Where the circuit ID used to have some useful information, it's been largely reduced to a minimum amount of information that can get a customer/service tech in touch with the right tech support group. It's a-typical to provide a circuit-id for residential customers, they're typically reserved for business class services although there isn't anything that would prevent it other than managing the data/changes. 29/EC00/123456/002/MYCO/0 (prefix 2) usually a form of where the service originates (Commonly where the IP address is provisioned) Service type - format is up to the circuit owner. A common syntax is: First digit identifies the service delivery type - E = Ethernet A=ATM S=Sonet P=PON ... Second digit identifies the physical delivery type. A=64K B=1.5Mbps C=25Mbps D=45Mbps(STS1) E=100Mbps F=155Mbps(oc3) G=100Mbps H=466Mbps(oc9) I=622Mbps(oc12) J=1Gbps K=1.5Gbps L=2.5G M=10Gbps (oc192) N=13Gbps(oc255) O=25gpbs P=40Gbps(OC768) Q=100G ... Third and fourth digits identify the fractional provisioned rate as a % 00=100% 10=10% 25=25% Serial number - 6 digit alphanumeric serial number usually encoded with cust/location/ Suffix - used if cust/location for circuit count. Or generically as circuit count. (customer has 2 10G) Company Code - use up to 4 letter (this is the controller of the circuit) Segment - if it's a multi-segment circuit. Occasionally used to denote if a circuit is protection. -----Original Message----- From: NANOG [mailto:nanog-bounces@nanog.org] On Behalf Of Colton Conor Sent: Monday, August 21, 2017 2:26 PM To: NANOG Subject: Creating a Circuit ID Format We are building a new fiber network, and need help creating a circuit ID format to for new fiber circuits. Is there a guide or standard for fiber circuit formats? Does the circuit ID change when say a customer upgrades for 100Mbps to 1Gbps port? What do the larger carriers do? Any advice on creating a circuit ID format for a brand new fiber network? Originally we ran a CLEC using a LECs copper, and our circuit ID was historically a telephone number for DSL circuits. The ILEC had a complex method for assigning circuit IDs. I am sure anything will work as long as you keep track of it, but any advice would be great!
participants (13)
-
Allan Eising
-
Colton Conor
-
James Bensley
-
Jameson, Daniel
-
Jared Mauch
-
Jared Mauch
-
Justin M. Streiner
-
Nick Hilliard
-
Nick W
-
Tassos Chatzithomaoglou
-
Tim Pozar
-
Timothy Creswick
-
William Herrin