<span style="display:block;height:15px!important"></span>
<p align="center"><img src="https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_logo.png" alt="SIP Trip Phone" width="171px" height="119px"/></p>

<span style="display:block;height:20px!important"></span>

**SIP Trip Phone is a browser phone in the form of a Nextcloud application. It can connect to SIP providers via Asterisk or directly.**

SIP Trip Phone can be used in conjunction with Asterisk, to benefit from the control, autonomy and advanced PBX features offered by Asterisk, or without Asterisk, if it's connected directly to the 
SIP provider. For calls to and from regular phone numbers, a SIP provider like Telnyx or Localphone is needed and a real phone number acquired from that provider. If Asterisk 
is used, it's recommended to be Asterisk version 18.0.0 LTS and it has to be installed on a VPS or dedicated server, as explained in the documentation mentioned in the 'Installation' 
section from below. The web server has to be configured to allow access to a specific directory and to proxy WebSocket traffic to a specific URL, as explained in the documentation. 
Not all SIP providers allow connections from external Asterisk servers or direct connections from web applications that use SIP over WebSocket, like SIP Trip Phone. Thus, you can 
connect this application to Telnyx, Localphone, Twilio, Flowroute, Vonage, etc. via an Asterisk server, but if you want to connect it directly to the SIP provider, from the 5 
mentioned providers, only Telnyx will work, because the others don't allow direct connections from web applications using SIP over WebSocket. SIP Trip Phone is based on the ctxSip 
phone.

<span style="display:block;height:20px!important"></span>

## Features
<span style="display:block;height:10px!important"></span>

* 📞 SIP Trip Phone allows making and receiving calls to/from any mobile or landline phone at lower rates than with regular phones. It is known that VoIP phone calls are up to 70% cheaper than regular phone calls. International VoIP phone calls can cost even 90% less than regular phone calls.

* 🌐 You can acquire phone numbers in countries of your choice and make cheap international phone calls to receivers in those countries. When calling you back on those numbers, the receivers will pay as for local calls.

* 🆓 You can make free calls over the Internet between extensions configured on the underlying Asterisk server.

* ☎️ SIP Trip Phone logs recent phone calls and their duration and allows holding, muting and transferring phone calls.

* 📑 When using Asterisk, SIP Trip Phone allows choosing any available phone number as the 'From' number for outgoing calls.

* 📋 SIP Trip Phone lists all the contacts and Nextcloud users with available phone numbers, so that you can call them with one click.

* 📥 Phone conversations can be easily recorded and saved as webm/ogx files. An audio warning can be played before each recording.

* 🚩 Incoming calls are signaled by on-screen notifications.

* 📃 Once you open SIP Trip Phone, you can use it even if you are logged out of Nextcloud.

* 📱 If Nextcloud is accessed in Firefox for mobile (version 123.0 or newer), it can be used directly on mobile devices.

* 💻 If Asterisk is used, on the underlying Asterisk server you can implement an IVR (Interactive Voice Response or 'voice menu') and many advanced PBX features such as voicemail, queue management, music on hold, number blacklisting, call recording, audio conference calls, etc.

* 💰 The only ongoing cost is about $1 per month (depending on the country) for a phone number. No contracts.

* 💸 Low per minute prices: if Asterisk is used, you can make calls within the US starting from $0.0050 per minute and receive calls with $0.0075 per minute or less (Telnyx), or $0.0060 per minute for outgoing calls and $0 for incoming calls (Localphone).

Double Bastion is not affiliated with Telnyx, Localphone, Twilio, Flowroute or Vonage.

### Donations

* 🎁 [Donate](https://www.doublebastion.com/donations/)

<span style="display:block;height:20px!important"></span>

<p align="center">Initial screen</p>
<span style="display:block;height:10px!important"></span>
<span style="display:block;margin:auto;width:412px;">![Image of SIP Trip Phone Interface](https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_initial_screen.png)</span>
<span style="display:block;height:40px!important"></span>
<p align="center">Dialpad</p>
<span style="display:block;height:10px!important"></span>
<span style="display:block;margin:auto;width:412px;">![Image of SIP Trip Phone Interface](https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_dialpad.png)</span>
<span style="display:block;height:40px!important"></span>
<p align="center">Making calls</p>
<span style="display:block;height:10px!important"></span>
<span style="display:block;margin:auto;width:412px;">![Image of SIP Trip Phone Interface](https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_calling.png)</span>
<span style="display:block;height:40px!important"></span>
<p align="center">Holding calls</p>
<span style="display:block;height:10px!important"></span>
<span style="display:block;margin:auto;width:412px;">![Image of SIP Trip Phone Interface](https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_hold.png)</span>
<span style="display:block;height:40px!important"></span>
<p align="center">Listing contacts</p>
<span style="display:block;height:10px!important"></span>
<span style="display:block;margin:auto;width:412px;">![Image of SIP Trip Phone Interface](https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_contacts.png)</span>
<span style="display:block;height:40px!important"></span>
<p align="center">Receiving calls on mobile phone</p>
<span style="display:block;height:10px!important"></span>
<span style="display:block;margin:auto;width:412px;">![Image of SIP Trip Phone Interface](https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_mobile_receiving_calls.png)</span>
<span style="display:block;height:40px!important"></span>
<p align="center">Answering calls on mobile phone</p>
<span style="display:block;height:10px!important"></span>
<span style="display:block;margin:auto;width:412px;">![Image of SIP Trip Phone Interface](https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_mobile_call_answered.png)</span>
<span style="display:block;height:40px!important"></span>
<p align="center">Listing contacts on mobile phone</p>
<span style="display:block;height:10px!important"></span>
<span style="display:block;margin:auto;width:412px;">![Image of SIP Trip Phone Interface](https://git.doublebastion.com/sip-trip-phone/raw/develop/img/sip_trip_phone_mobile_contacts.png)</span>
<span style="display:block;height:40px!important"></span>

## Browsers
<span style="display:block;height:10px!important"></span>

SIP Trip Phone works with all the major browsers.

<span style="display:block;height:20px!important"></span>

## Programming Languages
<span style="display:block;height:10px!important"></span>

SIP Trip Phone only uses PHP, SQL, jQuery, CSS and HTML. This means it's robust, efficient, light-weight and easy to maintain and debug.

<span style="display:block;height:20px!important"></span>

## Minimum Requirements
<span style="display:block;height:10px!important"></span>

- **Nextcloud 22+** has to be installed and properly configured, preferably by following the <a href="https://www.doublebastion.com/install-nextcloud" rel="noreferrer noopener" target="_blank">Install Nextcloud chapter</a> in our guide.

- **A telnyx.com or localphone.com account and a phone number** associated with it. You can use a SIP provider different from Telnyx or Localphone, but they have to allow direct connections from external Asterisk servers and/or from web applications that use SIP over WebSocket.

If you decide to connect SIP Trip Phone to your SIP provider via Asterisk, you will need **Asterisk, preferably version 18.0.0 LTS** (with **chan_pjsip** enabled), installed on a VPS or 
dedicated server.

<span style="display:block;height:20px!important"></span>

## Installation
<span style="display:block;height:10px!important"></span>

<a href="https://www.doublebastion.com/install-nextcloud/#install-sip-trip-phone" rel="noreferrer noopener" target="_blank">This chapter</a> of our Complete Guide to a Complete Linux Server 
explains in detail how to install and use this application. It also contains the link to the chapter that describes how to install Asterisk.

SIP Trip Phone is a component of RED Scarf Suite. It can be installed and used alone, but if you want to install <a href="https://www.doublebastion.com/red-scarf-suite-components/" rel="noreferrer noopener" target="_blank">all 
the components</a> of RED Scarf Suite, you can follow our <a href="https://www.doublebastion.com/free-server/complete-guide-to-a-complete-linux-server/" rel="noreferrer noopener" target="_blank">complete guide</a>.

<span style="display:block;height:20px!important"></span>

## Contribute
<span style="display:block;height:10px!important"></span>

This is the official git repository of SIP Trip Phone. The <a href="https://github.com/DoubleBastionAdmin/sip-trip-phone" rel="noreferrer noopener" target="_blank">GitHub SIP Trip Phone
repository</a> is just a pointer to this repository. We don’t use GitHub for developing SIP Trip Phone because GitHub is owned by one of the companies that proved their disrespect for
digital freedom over the years and because centralized services create autonomy and privacy issues, in spite of all the benefits.

If you want to contribute code to this project, please submit <a href="https://git.doublebastion.com/sip-trip-phone/pullrequests/contrib" rel="noreferrer noopener" target="_blank">this form</a>, 
mentioning your intended changes. We'll send you the credentials needed to push code to the "contrib" branch of this repository. After we review the changes, we can include them in the 
project.

Please post any bugs that are not security related, or feature requests, on the <a href="https://git.doublebastion.com/sip-trip-phone/issues/develop" rel="noreferrer noopener" target="_blank">
issue tracker</a>. If you notice bugs related to security, don’t post them on the issue tracker; instead, send them to manager [at] doublebastion [dot] com .

<span style="display:block;height:20px!important"></span>

## License
<span style="display:block;height:10px!important"></span>

SIP Trip Phone as a whole is licensed under the GNU Affero General Public License Version 3. If you use SIP Trip Phone or distribute it in modified or unmodified form, you will need to comply with 
the terms of the GNU Affero General Public License Version 3.

This application is based on the ctxSip phone and the original copyright notice is included in the appropriate files.

SIP Trip Phone includes libraries licensed under different free software licenses. These libraries contain their respective original copyright notices.
