{"id":18422028,"url":"https://github.com/mpogotsky/voipbandwidthcalculator","last_synced_at":"2025-04-13T12:11:27.468Z","repository":{"id":161241554,"uuid":"544189242","full_name":"MPogotsky/VoIPBandwidthCalculator","owner":"MPogotsky","description":"Software for network demensioning with VoIP technology","archived":false,"fork":false,"pushed_at":"2023-05-19T15:11:56.000Z","size":427,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-16T07:26:08.859Z","etag":null,"topics":["oop","pyqt5","pytest","python","voip-application"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MPogotsky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-01T21:57:14.000Z","updated_at":"2023-03-05T15:18:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"db6136e7-3a27-4d7c-98e1-536903601e66","html_url":"https://github.com/MPogotsky/VoIPBandwidthCalculator","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MPogotsky%2FVoIPBandwidthCalculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MPogotsky%2FVoIPBandwidthCalculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MPogotsky%2FVoIPBandwidthCalculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MPogotsky%2FVoIPBandwidthCalculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MPogotsky","download_url":"https://codeload.github.com/MPogotsky/VoIPBandwidthCalculator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248710445,"owners_count":21149190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["oop","pyqt5","pytest","python","voip-application"],"created_at":"2024-11-06T04:27:47.226Z","updated_at":"2025-04-13T12:11:27.444Z","avatar_url":"https://github.com/MPogotsky.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VoIP Bandwidth Calculator\n\nRapid growth of computer networks led to an increase in the popularity of\ninternet telephony in the late 20th century. Today it is widely used by both large\ncompanies and individual users. The use of modern IP telephony technologies\nallows users to significantly reduce the cost of calls and integrate telephone services\nwith internet services, which causes problems with the dimensioning of network\nresources needed to maintain a decent quality of services.\n\nFor such needs a calculator has been implemented. Based\non the key parameters of VoIP technology, it is intended to facilitate the calculation\nof the necessary parameters for the implementation of a given service, such as:\n\n1. Bandwidth\n2. Packet rate\n\n\n## Parameters\nIn the calculator you can specify following parameters described below to find needed bandwidth.\n\n### Codecs\nThe size of the package strongly depends on the selected codec, and it plays important role in network \ndimensioning as it affects the required bandwidth.\nThe voice codecs used in VoIP are described by **ITU-T** and **IETF** recommendations and are listed in the\ntable below.\n\nStandard | Codec | Bitrate | Frame Size |\n:------------: | :------------: | :------------: | :------------: |\nITU-T     | G.711   | 64kbps    | 10ms  |\nITU-T     | G.726   | 16kbps    | 5ms   |\nITU-T     | G.728   | 16kbps    | 2.5ms |\nITU-T     | G.729   | 8kbps     | 10ms |\nITU-T     | G.723.1 | 5.3kbps   | 30ms  |\nIETF      | iLBC    | 15.2kbps  | 20ms |\n\n### Protocols\nThe stack of used protocols matters when calculating the bandwidth needed,\nbecause each of them adds a header to the package for network communication. This process also known as encapsulation.\n\nWhile VoIP requires the use of RTP and\nUDP in the transport layer(they are the basis for data transmission\nreal-time), other layers may use different protocols, such as\nIP or Ethernet.\n\nSo, for calculating the bandwidth necessary for transmission important is the possibility of\nadapt and incorporate different protocols from the layers of the TCP / IP model. Table \nbelow describes all used protocols with their header sizes you can specify in calculations.\n\nProtocol | Header |\n:------------: | :------------: |\nRTP             | 12 byte|\nUDP             | 8 byte|\nIPv4            | 20 byte|\nIPv6            | 40 byte|\nEthernet 802.3  | 38 byte|\n\n## Overview\n\nVoIP calculator is a relatively simple application. It consists of one windows\ndivided into two sections, the first section is for setting parameters and the other one\nis used to demonstrate the results.\n![VoIP Calculator main window](dependency/ReadmeImages/MainWindow.png \"Figure_1\")\n\nIn a situation where the entered value is not correct, the user gets\na message in the form of a window that describes what is wrong. Example windows with\nmessages can be seen below:\n\n\n![Warning_1](dependency/ReadmeImages/Warning_1.png \"Figure_2\")\n![Warning_2](dependency/ReadmeImages/Warning_2.png \"Figure_3\")\n![Warning_3](dependency/ReadmeImages/Warning_3.png \"Figure_4\")\n\nComponents layout in application sections:\n\n![Layouts](dependency/ReadmeImages/Layouts.png \"Figure_5\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpogotsky%2Fvoipbandwidthcalculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpogotsky%2Fvoipbandwidthcalculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpogotsky%2Fvoipbandwidthcalculator/lists"}