{"id":20302580,"url":"https://github.com/asterisk/cyber_mega_phone_2k","last_synced_at":"2025-04-11T13:43:25.970Z","repository":{"id":25709428,"uuid":"100615127","full_name":"asterisk/cyber_mega_phone_2k","owner":"asterisk","description":null,"archived":false,"fork":false,"pushed_at":"2022-05-20T15:45:11.000Z","size":145,"stargazers_count":62,"open_issues_count":1,"forks_count":37,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-25T09:53:03.526Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asterisk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-17T14:55:30.000Z","updated_at":"2025-03-12T18:57:50.000Z","dependencies_parsed_at":"2022-08-25T08:50:35.904Z","dependency_job_id":null,"html_url":"https://github.com/asterisk/cyber_mega_phone_2k","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterisk%2Fcyber_mega_phone_2k","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterisk%2Fcyber_mega_phone_2k/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterisk%2Fcyber_mega_phone_2k/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterisk%2Fcyber_mega_phone_2k/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asterisk","download_url":"https://codeload.github.com/asterisk/cyber_mega_phone_2k/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248410857,"owners_count":21098783,"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":[],"created_at":"2024-11-14T16:32:40.911Z","updated_at":"2025-04-11T13:43:25.949Z","avatar_url":"https://github.com/asterisk.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cyber Mega Phone 2K\n\nCyber Mega Phone 2K Ultimate Dynamic Edition is a simple browser side client\napplication that was created for testing of [Asterisk's](https://github.com/asterisk)\n(15+) multistream capabilities. Firefox and Chrome based browsers are supported.\n\n### Dependencies\n\nCurrently, Cyber Mega Phone 2K utilizes [JsSIP](http://www.jssip.net/) (v3.0.13) for\nSIP support and [sdp-interop-sl](https://github.com/StarLeafRob/sdp-interop-sl) (v1.4.0)\nfor SDP Plan B support that is currently needed for Chrome based browsers. Both of these\nlibraries can be found under the 'lib' directory within the project so there should be\nno need for further download.\n\nAs mentioned multistream support is only supported in Asterisk 15+. Also, the pjsip\nchannel driver is currently the **only** channel driver that is multistream enabled.\n\n### Usage\n\nBuild and [install](https://wiki.asterisk.org/wiki/display/AST/Installing+Asterisk) Asterisk.\nOnce installed configure Asterisk to listen for webrtc connections. See the\n[WebRTC tutorial](https://wiki.asterisk.org/wiki/display/AST/WebRTC+tutorial+using+SIPML5)\non the Asterisk wiki. The configuration should be similar.\n\nYou'll need to add a few additional settings to your configured pjsip endpoint.\n`max_audio_streams` and `max_video_streams` need to be set to a number greater than one\n(the default) in order for Asterisk to allow more than one of each stream type. \n```\nmax_audio_streams=\u003cnum\u003e\nmax_video_streams=\u003cnum\u003e\nwebrtc=yes\n```\n\nYou will also need to configure an extension to dial. You should be able to dial out to another\nendpoint, but the easiest way to check out the multistream capabilities is to dial into a\n[confbridge](https://wiki.asterisk.org/wiki/display/AST/ConfBridge)\nor use app_stream_echo. For instance, to use the Asterisk stream echo dialplan application create\nan extension with the following (be sure to set 'max_video_streams' to at least 4 then):\n```\nexten =\u003e stream_echo,1,Answer()\n  same =\u003e n,StreamEcho(4)\n  same =\u003e n,Hangup()\n```\nCalling the above should result in your browser showing five video streams. One local and four\nremote streams. If you have configured an extension for a confbridge then, when dialed, you may\ninitially see a single video stream (if you are the first to join) and then other video elements\nare added and removed as others join or leave the confbridge.\n\nOnce Asterisk is configured and running open either a Firefox or Chrome based browser.\nIn all likelyhood you'll need to register your cert first, so enter the following address:\n\nhttps://[ip of asterisk server]:8089/ws\n\nAnd manually confirm the security exception. Go to File-\u003eOpen, navigate to where you downloaded\nCyber Mega Phone 2K, and then open the 'index.html' file. In your browser you should see some\nfancy side scrolling text and three buttons. Click the 'Account' button and enter the endpoint\ncredentials you configured in Asterisk (Note, 'ID' is the endpoint name). Also enter the extension\nyou would like to dial. Close the box and then press the 'Connect' button. This should connect you\nto Asterisk and register the endpoint if configured to do that. Now the 'Call' button should be\nenabled. Press it to dial the set extension. Depending on the extension you dialed, and if you\nallowed your browser access, you should now see one or more video elements displayed. 'Hangup' or\n'Disconnect' to end.\n\n### Recommendations\n\nIf you experience audio issues, it may be a good idea to turn on the jitterbuffer. This can cause\nthe audio to be slightly delayed, but will also eliminate problems such as bursty audio packets\ncausing disruptions. You can enable this option in confbridge.conf for a user, or you can do it\nthrough the dialplan before placing the user in the conference by using the JITTERBUFFER dialplan\nfunction for a more fine tuned experience.\n\n### License\n\nCyber Mega Phone 2K is released under the [MIT License](LICENSE) Copyright (C) 2017 Digium, Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasterisk%2Fcyber_mega_phone_2k","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasterisk%2Fcyber_mega_phone_2k","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasterisk%2Fcyber_mega_phone_2k/lists"}