{"id":18636210,"url":"https://github.com/bundasmanu/baresip-with-audio","last_synced_at":"2025-05-07T20:43:07.838Z","repository":{"id":242906173,"uuid":"810903676","full_name":"bundasmanu/baresip-with-audio","owner":"bundasmanu","description":"Baresip with audio support for OSX","archived":false,"fork":false,"pushed_at":"2025-04-30T22:59:12.000Z","size":5046,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T20:43:01.949Z","etag":null,"topics":["audio","baresip","docker","osx","sip","tool","voip"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/bundasmanu.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,"zenodo":null}},"created_at":"2024-06-05T15:09:36.000Z","updated_at":"2025-04-30T23:00:28.000Z","dependencies_parsed_at":"2024-06-05T17:23:30.935Z","dependency_job_id":"0b9b0ca4-e2e8-4a2b-949f-bd53ea6d2953","html_url":"https://github.com/bundasmanu/baresip-with-audio","commit_stats":null,"previous_names":["bundasmanu/baresip-with-audio"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundasmanu%2Fbaresip-with-audio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundasmanu%2Fbaresip-with-audio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundasmanu%2Fbaresip-with-audio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundasmanu%2Fbaresip-with-audio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bundasmanu","download_url":"https://codeload.github.com/bundasmanu/baresip-with-audio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252954140,"owners_count":21830894,"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":["audio","baresip","docker","osx","sip","tool","voip"],"created_at":"2024-11-07T05:28:39.108Z","updated_at":"2025-05-07T20:43:07.831Z","avatar_url":"https://github.com/bundasmanu.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Baresip-Audio-Support\n\n- [Baresip-Audio-Support](#baresip-audio-support)\n  - [Context](#context)\n  - [Enable Audio](#enable-audio)\n    - [Requirements](#requirements)\n    - [Host changes](#host-changes)\n      - [Execution](#execution)\n      - [Set a different device - Enabling Device connected on Jack](#set-a-different-device---enabling-device-connected-on-jack)\n    - [Change HOST\\_PULSE\\_CONFIG\\_FOLDER Environment Variable](#change-host_pulse_config_folder-environment-variable)\n  - [How use new Modules](#how-use-new-modules)\n  - [.baresip folder](#baresip-folder)\n  - [Build Image](#build-image)\n  - [Run baresip](#run-baresip)\n  - [Explore bash](#explore-bash)\n  - [Explore baresip commands and usage](#explore-baresip-commands-and-usage)\n\n## Context\n\nThis project aims to enable and facilitate the use of `baresip`.\nAllowing it to be used via `Docker Compose`, it is already fully configured for use without any changes and provides audio support for the OSX environment.\n\nEssentially, it provides the following:\n\n- Pre-defined and easily customizable new modules;\n- Audio support using the `pulse` module for OSX host environments;\n- Audio support for multiple devices, with a configurable script for this purpose;\n- `config` file already configured, no need to make any changes;\n- `bind mounts` created to facilitate `on-demand` changes, such as adding or removing audio;\n- Easy testing of new versions of `baresip` and new modules, using environment variables;\n\n## Enable Audio\n\n### Requirements\n\n`brew` must be installed on the host machine, as it is used to install `pulseaudio`.\n\n### Host changes\n\nThe pulse module is used as an audio player and audio source.\nBut on OSX, we don't have direct access to the `devices`, so we need to configure `pulse` in the `host` environment. The container then has the `PULSE_SERVER` pointing to the `host`.\n\nTo make the process easier, a script has been created for this purpose: `configure-pulseaudio-osx.sh`.\nThis script is basically responsible for:\n\n- installing the `pulseaudio` lib, if it doesn't exist (via brew);\n- Validating which device you want to use as the `sink` (by default, tries to use: `MacBook Pro Speakers`);\n- Changes the `default-sink` to the one you want;\n- Changes the config: `default.pa`, to accept TCP connections, without requiring authentication;\n- Restart the `pulseaudio` service;\n\n#### Execution\n\n```sh\nchmod 0777 configure-pulseaudio-osx.sh\n./configure-pulseaudio-osx.sh\n```\n\n#### Set a different device - Enabling Device connected on Jack\n\n```sh\npactl list sinks ### list the sinks available on host - select the device wanted from description Field\n./configure-pulseaudio-osx.sh \"External Headphones\"\n```\n\n**Hint:** I recommend to use this approach, because you will get audio, even if a device is not connected to the `jack`.\n\n### Change HOST_PULSE_CONFIG_FOLDER Environment Variable\n\nThe container needs access to the `pulse` sinks, so there is a `bind-mount` to allow access between host \u003c--\u003e container.\nIt is therefore necessary to identify on the host, where the `.config/pulse` folder is located, and change the `HOST_PULSE_CONFIG_FOLDER` (in `.env` file) accordingly.\n\nFor example, if the location on host is: `/Users/myuser/.config/pulse`, the mount should be:\n`/Users/myuser/.config/pulse:/home/pulseaudio/.config/pulse`.\nThe destination in the container must not be changed, only the host source.\n\n## How use new Modules\n\nTo use new modules, the following is required to be changed:\n\n- Update `MODULES_LIST` environment variable in `.env` file, and add the new module;\n- Check `.baresip/config` file, and enable the module;\n- Finally, check if the new module, requires to install new libraries, and if yes, update `Dockerfile`;\n\n## .baresip folder\n\nThe local `.baresip` folder contains the basic `baresip` settings.\n\nBy default, the only file to change is : `accounts`. There are no pre-created accounts, so you need to enter new ones.\n\n## Build Image\n\n```sh\ndocker compose build baresip-with-audio\n```\n\n## Run baresip\n\n```sh\ndocker compose run baresip-with-audio\n```\n\n## Explore bash\n\n```sh\ndocker compose run baresip-with-audio /bin/bash\n```\n\n## Explore baresip commands and usage\n\n[baresip-wiki](https://github.com/baresip/baresip/wiki)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbundasmanu%2Fbaresip-with-audio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbundasmanu%2Fbaresip-with-audio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbundasmanu%2Fbaresip-with-audio/lists"}