Skip to content
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AddressBookPlugIns
Domain
DomainTestDoubles Move type to test doubles Aug 23, 2018
DomainTests Add SystemDefaultSoundIO Jul 26, 2018
ReceiptValidation Add missing @escaping Oct 5, 2018
Telephone.xcodeproj
Telephone Bundle version 132, short version string 1.4 Nov 14, 2018
TelephoneTests Add ObjCStoreEventTarget and ObjCStoreEventTargetAdapter Nov 6, 2018
ThirdParty/PJSIP/patches
UseCases
UseCasesTestDoubles Add UserAgentStartUseCase Oct 22, 2018
UseCasesTests Add UserAgentStartUseCase Oct 22, 2018
.gitignore
LICENSE
README.md Add PJSIP patching instructions to readme Nov 7, 2018

README.md

Telephone is a VoIP program which allows you to make phone calls over the internet. It can be used to call regular phones via any appropriate SIP provider. If your office or home phone works via SIP, you can use that phone number on your Mac anywhere you have decent internet connection.

Building

Opus

Opus codec is optional.

Download:

$ curl -O https://archive.mozilla.org/pub/opus/opus-1.2.1.tar.gz
$ tar xzvf opus-1.2.1.tar.gz
$ cd opus-1.2.1

Build and install:

$ ./configure --prefix=/path/to/Telephone/ThirdParty/Opus --disable-shared CFLAGS='-O2 -mmacosx-version-min=10.10'
$ make
$ make install

PJSIP

Download:

$ curl -O https://www.pjsip.org/release/2.7.2/pjproject-2.7.2.tar.bz2
$ tar xzvf pjproject-2.7.2.tar.bz2
$ cd pjproject-2.7.2

Create pjlib/include/pj/config_site.h:

#define PJSIP_DONT_SWITCH_TO_TCP 1
#define PJSUA_MAX_ACC 32
#define PJMEDIA_RTP_PT_TELEPHONE_EVENTS 101
#define PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR "101"
#define PJ_DNS_MAX_IP_IN_A_REC 32
#define PJ_DNS_SRV_MAX_ADDR 32
#define PJSIP_MAX_RESOLVED_ADDRESSES 32
#define PJ_GETHOSTIP_DISABLE_LOCAL_RESOLUTION 1

Patch pjlib/src/pj/sock_qos_darwin.c:

$ patch -p0 -i /path/to/Telephone/ThirdParty/PJSIP/patches/sock_qos_darwin.patch

Build and install (remove --with-opus option if you don’t need Opus):

$ ./configure --prefix=/path/to/Telephone/ThirdParty/PJSIP --with-opus=/path/to/Telephone/ThirdParty/Opus --disable-video --disable-libyuv --disable-libwebrtc --host=x86_64-apple-darwin CFLAGS='-mmacosx-version-min=10.10'
$ make lib
$ make install

LibreSSL

$ curl -O https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.6.5.tar.gz
$ curl -O https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.6.5.tar.gz.asc
$ gpg --verify libressl-2.6.5.tar.gz.asc
$ tar xzvf libressl-2.6.5.tar.gz
$ cd libressl-2.6.5
$ ./configure --prefix=/path/to/Telephone/ThirdParty/LibreSSL --disable-shared CFLAGS='-mmacosx-version-min=10.10'
$ make
$ make install

Build Telephone.

Contribution

For the legal reasons, pull requests are not accepted. Please feel free to share your thoughts and ideas by commenting on the issues.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.