Skip to content

Commit

Permalink
Merge pull request #100 from tayler6000/feature/Add-TLS
Browse files Browse the repository at this point in the history
Add TLS capabilities
  • Loading branch information
tayler6000 authored May 8, 2023
2 parents 6aea732 + 786e6b5 commit ccf67d6
Show file tree
Hide file tree
Showing 35 changed files with 3,635 additions and 1,852 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/black.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ jobs:
strategy:
matrix:
python-version:
- "3.7"
- "3.8"

steps:
- uses: actions/[email protected]
with:
fetch-depth: 2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4.0.0
uses: actions/setup-python@v4.6.0
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/flake8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# This workflow will install Python dependencies, run tests and lint
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Check flake8

on:
push:
branches:
- "master"
- "development"
pull_request:

jobs:
check-flake8:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.8"

steps:
- uses: actions/[email protected]
with:
fetch-depth: 2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e . -r requirements-test.txt
- name: flake8
run: flake8 pyVoIP
10 changes: 7 additions & 3 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,23 @@ jobs:
strategy:
matrix:
python-version:
- "3.7"
- "3.8"

steps:
- uses: actions/[email protected]
with:
fetch-depth: 2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4.0.0
uses: actions/setup-python@v4.6.0
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e . -r requirements-test.txt
- name: Start Docker
run: |
docker build docker -t pyvoip/tests
docker run -d -p 5060:5060/udp -p 5061-5062:5061-5062/tcp pyvoip/tests
- name: pytest
run: pytest
run: pytest --check-func
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ dist/
pyVoIP.egg-info
__pycache__
venv
*.swp
4 changes: 4 additions & 0 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM andrius/asterisk:latest
COPY /settings/ /etc/asterisk/
EXPOSE 5060/udp
EXPOSE 5061
20 changes: 20 additions & 0 deletions docker/settings/cert.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDTTCCAjWgAwIBAwIBADANBgkqhkiG9w0BAQUFADBpMQswCQYDVQQGEwJVUzEL
MAkGA1UECAwCTU8xEDAOBgNVBAcMB1dpbmRzb3IxJzAlBgNVBAoMHlNvcnRhIFN0
cmFuZ2UgUHJvZHVjdGlvbnMsIExMQzESMBAGA1UEAwwJMTI3LjAuMC4xMCAXDTIz
MDUwODAxMTUxMloYDzIwNzMwNDI1MDExNTM3WjBpMQswCQYDVQQGEwJVUzELMAkG
A1UECAwCTU8xEDAOBgNVBAcMB1dpbmRzb3IxJzAlBgNVBAoMHlNvcnRhIFN0cmFu
Z2UgUHJvZHVjdGlvbnMsIExMQzESMBAGA1UEAwwJMTI3LjAuMC4xMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyHBkMAl2G57UsvLlyX8YvZGOLEgpgThX
awQwnFlEqgtQvIISp3j2oM4gJW6KYfZbdOB536SQT1HvSaH8ggNTqjQ0syJ5j6xx
JR9vRHdllONptlZyMoXyiwjrsxmTm0T9gqHgs+02ripQSeyiy9AJjyoAHZ1zb9g8
tq8MSai8f4zC+QhNhnIeOUCh/gLs7WazXdCHnhG9T7nS50IIhTvCsYyw5eCqxtEE
Kwrk6uMJU+oZJgfFSLQZjebpSfiYljKvHeIVreGhtiARjWiovk/VZLLfRqvnvq1n
XdRgW8zdx+RU22TCu8l9hFRqsVS1kxqlINHCmFWwp8sqa6M+az/1FQIDAQABMA0G
CSqGSIb3DQEBBQUAA4IBAQAwP5hv/lS4bJ9qb96STrn0dIiJztASk2gVkXjF6IhF
QNA2pJENAJwMYH7xYjn0WMJ+5D3pQikRaigRmTvB0RL8GvX6ETUHzQoAngQX3fGn
4DJ5SbL61AFaHGL+CdAKRXXWosY3gdJx9y2AjoIVwBZvZ07PjrkDLo3xj6H8GlDX
MpnjovgpD38w4A6kjtbtMD/YTHmOIRhrj/SPRliBiL+KywyC6jm6RMQhk2YHKuWP
/qluJfSoBg2OG5ilrTQ8xVxUDg5G8oghdqF7YiRL+SGRhw8v1caAjJ13twr5D7e8
66Z6rarG096P/TwjTV6mSivzb1exUGUIOechy+RVJjm/
-----END CERTIFICATE-----
5 changes: 5 additions & 0 deletions docker/settings/extensions.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[internal]

exten => answerme,1,Answer()
same => n,Wait(3)
same => n,Hangup()
27 changes: 27 additions & 0 deletions docker/settings/key.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAyHBkMAl2G57UsvLlyX8YvZGOLEgpgThXawQwnFlEqgtQvIIS
p3j2oM4gJW6KYfZbdOB536SQT1HvSaH8ggNTqjQ0syJ5j6xxJR9vRHdllONptlZy
MoXyiwjrsxmTm0T9gqHgs+02ripQSeyiy9AJjyoAHZ1zb9g8tq8MSai8f4zC+QhN
hnIeOUCh/gLs7WazXdCHnhG9T7nS50IIhTvCsYyw5eCqxtEEKwrk6uMJU+oZJgfF
SLQZjebpSfiYljKvHeIVreGhtiARjWiovk/VZLLfRqvnvq1nXdRgW8zdx+RU22TC
u8l9hFRqsVS1kxqlINHCmFWwp8sqa6M+az/1FQIDAQABAoIBAD4rFfgMRzTD68bh
LcJ0iFDr34P+kdkBh6OqtgUYbwKq5czCL1UAYMZ5iGDzyzodNjqnEUX7fcMMb8KP
2ojczUtiS+Iv1DJq0uEnwdQjkD9A1d33LA5dm1/iUXDIgw7KtDKbUN2durMEbsiu
+8NpcD2WUljdKBvNnu8ulgoWqviIPL6zSsB4K7FPdmwKe2mxeeDGkrYxwc95QEeC
K8/dZVKObgBiIqUussB8QLs/M8WP6OfQeTOWwcaCgEi/4kd10CHyOG8FKmJCCanM
3Bjs9Z+N5RNYqENkY5r6ei8Xv6UH792rqLATmecSKXNLfpf4UkKm5Q+fQHQKJuV5
IM/T6LUCgYEA4G9Z3qo/PapF3dW+Lox6AlwtsVe4pNQWR/kqHwrORAXwii/5S/O0
nvY6AgO8N4e4CgNBOrPxJkmAG9FpvPFVZJ4532zAehGD3oK5B/8yYzRoNiY9nX04
GJkBi+hohbqjn5WCs2hN/wi0n8avE6DpZHXQ6c3+st7vF8KZDxBUTCsCgYEA5KEU
qoiwNiRRetp2pfgUiCxWQkJpq11piZXkLx+CJZFauwIfGVBa0zad6lPAVB/MkfEG
LdZjzB8U8ZM0e4JOGfOUyX0lN7hnGoxcW2s2Zo7NwdVPeizyZGaeZg5wSVUBrQ3R
9cnja7WRmuouhOXztwpGjwhsulB9h6bI/pDz478CgYAcXLYEt4sKZewyXoKMK2B3
z+JOWQGSguLV8ZzrE1iBrCZ7sBhXCtM2i3NFMeelNNeDHGov2vGMnxk7arlsEStz
bbNukrW4N2JsyiRL6Gobs1HAFhEPR/XA1gUmAxbCX5Wx4xkDRxkkM5tv3ZHebyVP
drwR7+BSBm48mHDzQGMGxQKBgGlqxGalQ+qS8GbfGFoKex0WpGdEzAhRt/nSfTYl
JxM/ZEBaCBDZ9ibxRfrnxwSC7QZVxe2YrsdNhZCluUtBl9VrdK064NBCXHfnRCZ6
1siPC9xWCKFi3BjjICIagjet1GoAt1DHV+8v9wUg+XYZuTgqqsIEtm1p85d6la6b
E3ltAoGABLIy3TQB/C3yTf+/TyiAE2FKEOsif/qUUAK+2EGnryFJpY0SU2RahOF8
Y7rXMbOx3CZ/7sRzzWBINBA8Wai+UbPPrGGQ2mjdctdMa23h24vTXo7Kwx2WY9PW
pjm/dC7GLSGCN2rMlCX6E6+6Vu2ZX+ZutTWcfNU/U6ZLdxSbdM4=
-----END RSA PRIVATE KEY-----
51 changes: 51 additions & 0 deletions docker/settings/pjsip.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0:5060

[transport-tcp]
type=transport
protocol=tcp
bind=0.0.0.0:5061

[transport-tls]
type=transport
protocol=tls
bind=0.0.0.0:5062
cert_file=/etc/asterisk/cert.crt
priv_key_file=/etc/asterisk/key.txt
method=tlsv1_2
verify_client=no
verify_server=no

[nopass]
type=endpoint
context=internal
disallow=all
allow=ulaw
allow=alaw
direct_media=no
aors=nopass

[nopass]
type=aor
max_contacts=1

[pass]
type=endpoint
context=internal
disallow=all
allow=ulaw
allow=alaw
direct_media=no
auth=pass
aors=pass

[pass]
type=auth
username=pass
password=Testing123!

[pass]
type=aor
max_contacts=1
4 changes: 4 additions & 0 deletions docker/start.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@echo off
docker rmi pyvoip/tests
docker build . -t pyvoip/tests
docker run -d -p 5060:5060/udp -p 5061-5062:5061-5062/tcp pyvoip/tests
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# -- Project information -----------------------------------------------------

project = 'pyVoIP'
copyright = '2022, Tayler Porter'
copyright = '2023, Tayler Porter'
author = 'Tayler J Porter'

# The full version, including alpha/beta/rc tags
Expand Down
Loading

0 comments on commit ccf67d6

Please sign in to comment.