Commit 3fbff5e2 authored by Jan Reimes's avatar Jan Reimes
Browse files

📚 docs(3gpp): update documentation for clarity and consistency

- Improved formatting and consistency across multiple SKILL.md files
- Added a new workflow.md for Change Request procedures
- Updated links to use markdown format for better readability
- Enhanced explanations and examples throughout the documentation
- Ensured all URLs are formatted consistently

This update aims to enhance the usability and clarity of the 3GPP documentation.
parent 7161c376
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ related:
## Organizational Partners

The seven Organizational Partners are:

- **ARIB** (Association of Radio Industries and Businesses)
- **ATIS** (Alliance for Telecommunications Industry Solutions)
- **CCSA** (China Communications Standards Association)
@@ -28,13 +29,15 @@ The seven Organizational Partners are:
## Technical Administration

Since 3GPP is not a legal entity, technical administration and infrastructure is provided by ETSI. This includes:
- Meeting information and registration: https://portal.etsi.org/Meetings.aspx#/

- Meeting information and registration: <https://portal.etsi.org/Meetings.aspx#/>
- Portal access for certain resources
- File servers and infrastructure

### MCC (Mobile Competence Centre)

The MCC is the technical support team for 3GPP operations:

- Maintains 3GPP specifications and FTP servers
- Publishes new/revised specs after each TSG round
- Manages the CR database and work item tracking
@@ -44,6 +47,7 @@ The MCC is the technical support team for 3GPP operations:
### PCG (Project Coordination Group)

The PCG coordinates the 3GPP partnership:

- Coordinates work across the three TSGs
- Manages relationships with Organizational Partners
- Oversees 3GPP budget and resources
@@ -54,16 +58,19 @@ The PCG coordinates the 3GPP partnership:
3GPP has three main Technical Specification Groups (TSGs):

### TSG RAN (Radio Access Network)

- **Focus**: Radio aspects of mobile communications
- **Responsibilities**: Radio access technologies like LTE and 5G NR
- **FTP Root**: `https://www.3gpp.org/ftp/tsg_ran/`

### TSG SA (Service and System Aspects)

- **Focus**: Overall architecture and service aspects
- **Responsibilities**: Core network functionalities, service requirements
- **FTP Root**: `https://www.3gpp.org/ftp/tsg_sa/`

### TSG CT (Core Network and Terminals)

- **Focus**: Core network and terminal aspects
- **Responsibilities**: Protocols, interfaces between core network and user equipment
- **FTP Root**: `https://www.3gpp.org/ftp/tsg_ct/`
@@ -71,6 +78,7 @@ The PCG coordinates the 3GPP partnership:
## Scope

3GPP specifications cover cellular telecommunications technologies, including:

- Radio access
- Core network
- Service capabilities
@@ -101,6 +109,7 @@ Many operators use dual connectivity between LTE and 5G NR equipment, using "Non
## TDocs (Temporary Documents)

TDocs are meeting documents produced by members participating in 3GPP Working Groups and Sub-Working Groups. They include:

- Proposals for new features
- Reports on technical work
- Other documents related to standard development
@@ -110,6 +119,7 @@ Every TDoc is always allocated to a specific 3GPP meeting.
## Portal Authentication

To access certain 3GPP resources, you need an ETSI Online Account (EOL). However:

- Files on the 3GPP FTP/HTTP server are publicly accessible
- For parsing metadata or accessing certain webpages, login may be required

@@ -122,7 +132,7 @@ To access certain 3GPP resources, you need an ETSI Online Account (EOL). However

## Resources

- 3GPP Official Website: https://www.3gpp.org/
- 3GPP Work Plan: https://www.3gpp.org/specifications-technologies/3gpp-work-plan/
- 3GPP Portal: https://portal.3gpp.org/
- ETSI Portal: https://portal.etsi.org/
- 3GPP Official Website: <https://www.3gpp.org/>
- 3GPP Work Plan: <https://www.3gpp.org/specifications-technologies/3gpp-work-plan/>
- 3GPP Portal: <https://portal.3gpp.org/>
- ETSI Portal: <https://portal.etsi.org/>
+35 −10
Original line number Diff line number Diff line
@@ -10,7 +10,9 @@ related:
  - 3gpp-releases
---

# 3GPP Change Requests
# 3GPP Change Requests - Reference

> **Quick Start**: For workflow overview and submission checklist, see [workflow.md](workflow.md).

## Overview

@@ -27,6 +29,7 @@ A CR is a **temporary document** (tdoc) to a meeting which specifies in precise
## Why Changes Are Needed

Three main reasons for creating a CR:

1. **Add a new feature** to a Release still under development
2. **Correct / clarify / enhance** an existing feature in a Release still under development
3. **Correct an error** in a spec which is functionally frozen
@@ -63,6 +66,7 @@ Three main reasons for creating a CR:
```

**Components:**

- `<specnumber_no_dot>`: Spec number without dot (e.g., `21.456` for TS 21.456)
- `*`: Literal asterisk
- `<4-character_CR_number>`: 4-digit CR number padded with leading zeros (e.g., `0095`)
@@ -70,6 +74,7 @@ Three main reasons for creating a CR:
- `<release>`: Release identifier (Rel-4, Rel-5, etc.)

**Examples:**

- Initial: `31.102_0095` - CR 0095 to spec 31.102
- First revision: `31.102_0095_r1` - Revision 1 of spec 31.102
- Mirror CR: `31.103_0095` - Mirrored CR to spec 31.103
@@ -79,13 +84,15 @@ Three main reasons for creating a CR:
### Netovate Search Tool

3GPP has an agreement with Netovate to provide a free CR database search:
- **URL**: http://netovate.com/cr-search/

- **URL**: <http://netovate.com/cr-search/>
- **Access**: Free web-based search tool
- **Features**: Search by spec number, CR number, or status

### 3GPP CR Database

Available on 3GPP FTP:

- **Directory**: `/ftp/Information/Databases/Change_Request/`
- **Format**: MS Access™ (.mdb) database
- **Access**: Direct download or via portal
@@ -97,9 +104,11 @@ Each spec maintains a history box listing all CRs that have been approved for th
## Step-by-Step Instructions

3GPP provides detailed step-by-step instructions for writing CRs:
- **URL**: https://www.3gpp.org/specifications-technologies/specifications-by-series/change-requests-step-by-step

- **URL**: <https://www.3gpp.org/specifications-technologies/specifications-by-series/change-requests-step-by-step>

**Key Sections:**

1. Header (meeting details, WG document number)
2. Spec number, CR number
3. CR revision number (for revised CRs only)
@@ -142,6 +151,7 @@ CRs are classified by category to indicate their nature:
### Mirror CRs

For specs maintained in multiple parallel Releases:

- Each Release needs its own mirror CR
- Use same WI code (Work Item code) for all mirror CRs
- Example: Spec 21.456 has mirror CRs in Release 4, Release 5, etc.
@@ -157,7 +167,8 @@ CRs for pure editorial changes (no technical content) are typically implemented
## Work Items

Each CR must be associated with a **Work Item (WI) code**:
- Obtained from official WI list: https://www.3gpp.org/ftp/Specs/html-info/WI-List.htm

- Obtained from official WI list: <https://www.3gpp.org/ftp/Specs/html-info/WI-List.htm>
- **Format**: 6-digit numeric code (e.g., `123456`)
- **Purpose**: Justifies the new feature or modification

@@ -187,6 +198,7 @@ Each CR must be associated with a **Work Item (WI) code**:
### CR Revision History

Optional field in CR document to track changes as CR passes through revisions:

- Revision 1: Initial CR
- Revision 2: First revision of CR
- Revision 3: Subsequent revisions
@@ -194,11 +206,13 @@ Optional field in CR document to track changes as CR passes through revisions:
### File Naming Convention

**Word™ files for CRs** follow 3GPP naming:

```
*<specnumber_no_dot>*_CR*<4-character_CR_number>*[r*<revision_number>*]
```

**Zip™ archive** containing CRs:

- Word™ files (CR cover sheet + body + attachments)
- Zip™ file named according to convention
- Contains multiple CRs packaged together for a TSG meeting
@@ -212,21 +226,32 @@ Draft → WG Agreement → TSG Approval → MCC Incorporation → Published Spec
## Change Request Workflow

### 1. Draft CR

Member organization creates CR document


### 2. Submit to WG

WG discusses and agrees CR is valid


### 3. WG Presents to TSG

WG presents CR at TSG plenary for approval


### 4. TSG Approval

TSG approves CR (becomes decision)


### 5. MCC Incorporates

MCC incorporates CR into new spec version


### 6. Publish

New spec version becomes available

## Common Pitfalls
@@ -257,9 +282,9 @@ New spec version becomes available

## Resources

- 3GPP Official: https://www.3gpp.org/
- 3GPP Portal: https://portal.3gpp.org/
- Step-by-step: https://www.3gpp.org/specifications-technologies/specifications-by-series/change-requests-step-by-step
- 3GPP Official: <https://www.3gpp.org/>
- 3GPP Portal: <https://portal.3gpp.org/>
- Step-by-step: <https://www.3gpp.org/specifications-technologies/specifications-by-series/change-requests-step-by-step>
- CR Database: /ftp/Information/Databases/Change_Request/
- WI List: https://www.3gpp.org/ftp/Specs/html-info/WI-List.htm
- Netovate: http://netovate.com/cr-search/
- WI List: <https://www.3gpp.org/ftp/Specs/html-info/WI-List.htm>
- Netovate: <http://netovate.com/cr-search/>
+95 −0
Original line number Diff line number Diff line
# Change Request Workflow

Quick reference for CR submission and approval process.

## CR Lifecycle

```text
Draft → WG Agreement → TSG Approval → MCC Incorporation → Published Spec
```

### 1. Draft CR

Member organization creates CR document containing:

- **CR Cover Sheet**: Why change is needed, summary of modifications
- **Attached Spec Sections**: Word "Track Changes" showing affected text
- **Summary of Changes**: Brief explanation

### 2. Submit to WG

- Any 3GPP member can propose CR to responsible Working Group
- WG discusses and agrees CR is valid and required

### 3. WG Presents to TSG

- WG presents CR at TSG plenary for final approval
- Status changes from "agreed" to pending TSG decision

### 4. TSG Approval

- TSG approves CR (status becomes "approved")
- CR becomes formal decision

### 5. MCC Incorporates

- 3GPP Support Team (MCC) incorporates CR into new spec version
- Target: 4 weeks after TSG plenary

### 6. Publish

- New spec version becomes available on FTP server

## Why CRs Are Needed

| Reason | When |
| ------ | ---- |
| Add new feature | Release still under development |
| Correct/clarify/enhance | Existing feature, Release still open |
| Fix error | Spec is functionally frozen |

## CR Categories

| Category | Description |
| -------- | ----------- |
| F | Corrective - applied to earliest Release version |
| A | Mirror - same CR to different Release version |
| TEI | Technical Enhancement or Improvement |

## CR Number Format

```text
<specnumber_no_dot>_CR<4-digit_number>[r<revision>]
```

**Examples:**

- `31102_CR0095` - CR 0095 to spec 31.102
- `31102_CR0095r1` - Revision 1 of that CR
- `31103_CR0095` - Mirror CR to spec 31.103

## Quick Checklist

Essential fields for CR submission:

- [ ] Work Item code (from [WI List](https://www.3gpp.org/ftp/Specs/html-info/WI-List.htm))
- [ ] Spec number and current version
- [ ] Target Release (one only)
- [ ] Category (F, A, or TEI)
- [ ] Source to WG
- [ ] Title and reason for change
- [ ] Clauses affected
- [ ] Date (yyyy-MM-dd format)

## Common Pitfalls

1. **Wrong Release**: Can't use Rel-6 WI code for Rel-4 spec
2. **Missing mirrors**: Need separate CR for each Release if spec is in multiple
3. **Out-of-date base**: Writing CR against old version that's been updated
4. **Wrong category**: Use TEI for enhancements, F for corrections

## See Also

- [SKILL.md](SKILL.md) - Full CR reference with status codes and detailed fields
- **@3gpp-specifications** - Spec numbering and structure
- **@3gpp-releases** - Release freeze concepts
+15 −6
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ related:
Working Groups meet **before** their TSG plenary meetings to make progress on specifications and studies that will be approved at the TSG level.

**Recent History:**

- Virtual meetings from early 2020 until June 2022 (due to COVID-19)
- Return to face-to-face meetings in June 2022
- Moving to hybrid format (F2F or virtual) since 2022
@@ -37,6 +38,7 @@ Each 3GPP meeting has a unique integer `meeting_id` that serves as the primary d
Meeting names are **inconsistent** across years and groups. Do NOT parse information directly from meeting names.

**Examples:**

- `SA4#134` - Standard SA4 format
- `SA4-e (AH) Audio SWG post 130` - Ad-hoc meeting
- `3GPPSA4-e (AH) Audio SWG post 130` - With 3GPP prefix
@@ -51,11 +53,13 @@ Meeting names are **inconsistent** across years and groups. Do NOT parse informa
Dynamic pages generated by 3GPP showing all meetings for a group:

**URL Pattern:**

```
https://www.3gpp.org/dynareport?code=Meetings-<ID>.htm
```

**Meeting ID Codes:**

- `RP` - RAN Plenary meetings
- `SP` - SA Plenary meetings
- `CP` - CT Plenary meetings
@@ -64,6 +68,7 @@ https://www.3gpp.org/dynareport?code=Meetings-<ID>.htm
- `C1` - CT WG1 meetings

**Example URLs:**

- RAN meetings: `https://www.3gpp.org/dynareport?code=Meetings-RP.htm`
- SA4 meetings: `https://www.3gpp.org/dynareport?code=Meetings-S4.htm`
- CT3 meetings: `https://www.3gpp.org/dynareport?code=Meetings-C3.htm`
@@ -73,6 +78,7 @@ https://www.3gpp.org/dynareport?code=Meetings-<ID>.htm
Each meeting row contains a link to the meeting details page:

**URL Pattern:**

```
https://portal.3gpp.org/Home.aspx#/meeting?MtgId=<meeting_id>
```
@@ -107,6 +113,7 @@ Each meeting list page contains an HTML table with the following columns:
### Date Format

Meeting dates in the portal tables are in various formats:

- `15-19 Jan 2024` - Day range
- `15 Jan 2024` - Single day
- `15 January 2024` - Full month name
@@ -123,8 +130,9 @@ Meeting dates in the portal tables are in various formats:
3. **Meeting Documents Templates**: Available from 3GPP portal

**Resources:**
- Registration page: https://portal.3gpp.org/
- Document templates: https://www.3gpp.org/delegates-corner/meetings/meeting-document-templates

- Registration page: <https://portal.3gpp.org/>
- Document templates: <https://www.3gpp.org/delegates-corner/meetings/meeting-document-templates>

## Hosting a Meeting

@@ -133,7 +141,8 @@ For companies hosting 3GPP meetings, there are specific requirements and procedu
### Meeting Calendar

The 3GPP Meeting Calendar is available on the 3GU Portal:
- Portal: https://portal.3gpp.org/#/55930-meetings

- Portal: <https://portal.3gpp.org/#/55930-meetings>
- Shows all TSG meetings
- Includes registration and check-in information

@@ -169,6 +178,6 @@ The 3GPP Meeting Calendar is available on the 3GU Portal:

## Resources

- **3GPP Official:** https://www.3gpp.org/
- **3GPP Portal:** https://portal.3gpp.org/
- **3GPP Work Plan:** https://www.3gpp.org/specifications-technologies/3gpp-work-plan/
- **3GPP Official:** <https://www.3gpp.org/>
- **3GPP Portal:** <https://portal.3gpp.org/>
- **3GPP Work Plan:** <https://www.3gpp.org/specifications-technologies/3gpp-work-plan/>
+13 −5
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ related:

## Overview

The 3GPP portal (https://portal.3gpp.org/) provides access to protected resources that require ETSI Online Account (EOL) authentication.
The 3GPP portal (<https://portal.3gpp.org/>) provides access to protected resources that require ETSI Online Account (EOL) authentication.

### Authentication Requirements

@@ -29,11 +29,13 @@ ETSI Online Account is the authentication system for accessing ETSI and 3GPP ser
### When is EOL Required?

**Required for:**

- Meeting registration and check-in
- 3GU Portal full access
- Protected meeting documents

**NOT required for:**

- Public TDoc files on FTP/HTTP server
- Public meeting lists and calendars
- Specification downloads
@@ -85,11 +87,13 @@ if auth_result.get("success", False):
`PortalSession` manages authenticated HTTP sessions with 3GPP portal:

**Key Methods:**

- `authenticate()`: Performs EOL login using AJAX
- `get_tdoc_metadata(tdoc_id)`: Fetches TDoc metadata with auto-authentication
- `_ensure_authenticated()`: Validates session before protected requests

**Implementation Pattern:**

```python
class PortalSession:
    def __init__(self, credentials: PortalCredentials, timeout: int = 30):
@@ -210,6 +214,7 @@ metadata = fetch_tdoc_metadata("R1-2301234", credentials)
### When Authentication is Required

**Meeting Registration:**

```python
session = PortalSession(credentials)
session.authenticate()
@@ -217,6 +222,7 @@ session.authenticate()
```

**3GU Portal Access:**

```python
from tdoc_crawler.crawlers import PortalSession
from tdoc_crawler.models import PortalCredentials
@@ -230,6 +236,7 @@ session.authenticate()
### When Authentication is NOT Required

**Public TDoc Access:**

```python
# Direct HTTP access to FTP server
import requests
@@ -239,6 +246,7 @@ response = session.get("https://www.3gpp.org/ftp/tsg_ran/WG1_RL1/RAN1_98/Docs/R1
```

**TDoc Metadata (public):**

```python
# Basic TDoc metadata may be publicly viewable without login
# Full metadata including contact info requires EOL account
@@ -282,10 +290,10 @@ response = session.get("https://www.3gpp.org/ftp/tsg_ran/WG1_RL1/RAN1_98/Docs/R1

## Resources

- 3GPP Portal: https://portal.3gpp.org/
- 3GPP Official: https://www.3gpp.org/
- ETSI Portal: https://portal.etsi.org/
- Login documentation: https://www.3gpp.org/delegates-corner/
- 3GPP Portal: <https://portal.3gpp.org/>
- 3GPP Official: <https://www.3gpp.org/>
- ETSI Portal: <https://portal.etsi.org/>
- Login documentation: <https://www.3gpp.org/delegates-corner/>

## Notes

Loading