This commit is contained in:
Stefan Bethke 2025-07-04 20:51:14 +02:00
commit eefcbe0c43
8 changed files with 448 additions and 0 deletions

View file

@ -0,0 +1,213 @@
#ENC[AES256_GCM,data:Oc2DdKVMymwkIHbS84TeTQY=,iv:UMhNafqQrHaF5iqFSev6D1uqHPFpKQTkOpYV6JncjsU=,tag:mAmBMyGdzER3hkSkV2Fjtw==,type:comment]
secret__sip_trunk_epvpn: ENC[AES256_GCM,data:kH0Sjk7PXsg=,iv:avgJi2Mu7ax1J7iCJ4QzuG1z04ojrzfoDCGISUXg7Qg=,tag:yw5uiP86H1164VzHUFzryg==,type:int]
secret__sip_trunk_fonial: ENC[AES256_GCM,data:1dRu6qh4/O0=,iv:TZpk/ZAMvIGTuFBHUn0r+CJhgcdYBX9gxnRWgfhCGDs=,tag:A2PavL2FUjpbnym6CPreKw==,type:str]
sops:
lastmodified: "2025-07-04T17:35:26Z"
mac: ENC[AES256_GCM,data:xfna0LQlalbXeK3Uik7VyelxMkTJr2yc6DDyQ0y8DUsTgTzrmtbNs89J0vR4CBiMnkmZyw6WkhvfJeLQOURQCwZHB3y+mrsIRax56XW1OskV1u3WSI//eSv2bXaQ5rbMMvaz7kYlOE51mhJZnOb3mtLmSE3IyxkaesjBSeHpdw4=,iv:OK/VzrNHE3zWJNi/OhnChzOGHN2OP7iN2r9G1vlDEBM=,tag:ehFxhu0HykJcBEejWgKJ+g==,type:str]
pgp:
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMAxK/JaB2/SdtAQ/8DLWOcWS/najtd0CoVuniQtinUD0Ek6Cy3yOYUUYwm26i
JDEQsMza3UbphCDA94Ok87wKsvuZ7aAiEhlifPEWWwKpfgNNe7mf411YThFrs6+x
lVNz3LNkQLU417iQZswWSgeULLZTD9Scl0r7JGFkJHsOBKB1nTiYQj8KhFYJp2Qe
3xXfasJlM1brxSkHEQc5LaH/QJ+GPx1qEcBfyg/i2wwQuALptk2O6FRWCFhek4lm
tHVGwnTUmmZ+lQup4eTGYCqz1XsxUG2PyHD9rAAuF5xMy4rxS6KiWVVHxVFiixWW
fap+Krzpq5hAB2dWt9Ya+/QKQTc3JSzvNiGm6fTidw3OhPU0PUJY289+37yj+Jce
YkeC9qQYzP6VPngOo3bP1e2qNKy0P3OyDILe6NVXPYWxHicEYvkTX31W4rkXnEig
QiSejv3Q6Q2tTnARUOCAqESQ1NVZdezVssQSgFiFUezHI8O9NZ4+ULA5M18kFVKH
Sk0YQ6Z2vvH2IAmpZet37jtlPOGACqi0mYopgW+nHF9zfaewVk/ku32iqgV3Wsdv
GYYKoWaYj82frVTMkXtGTQjRVZdCIfR6NXF5OHbOWx4O0s78FI+AQriuUoViOdSN
NSwCSkueqHQducgo6/PD9/+w0ktwZ8putCASnM3EmOoDWLaOe6E7ZqV8HmOUop7U
ZgEJAhBdiQGI2MXw3e/vMgc1dI0KDMLwsf5kAck9egugDH9EDyh9y97y6OqG5I5h
ytmmYooFi0BaGzCZ4fZCEHwwknxBsMzVo/JN+VBa5ucH6v1iRndnaglbuXiY8aMt
/f1YxIy5uw==
=K2QH
-----END PGP MESSAGE-----
fp: EF643F59E008414882232C78FFA8331EEB7D6B70
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA6EyPtWBEI+2AQ//dLxTLQOv0wcogM5ekciQSmABmjQJU+IqZO+mIL0oYNzP
JGfWAe1R1c+wAvE21QIQXbfo5OaI+fGFku5tQM25L2vKn4kad+yug/mc2WiQx6eV
nlKffZWuqhtexFaidsbMeUfpBBM4aM0TG24fHMgU62X/snnuZTxvhmey21uL/fUX
YcHOhYD1LUHMBLWe84I9NTbfmFnR1NqmPXTqebmh7kfYW9Qf3Pb/EqJOq/1zUr9R
6TZUh7yIZCQSDyfUp59elV85iXRbPNQkxCTlabARyphA0mEyDNRKWKYM/vQa3sBL
5wys37FssHQeKOB3kRnBChxvf34cFP4CTePhz74keIWfSi9VZguENeVJ5XsgVjAl
vTc9S403Bv5HMhpXOYZKAS7OH+VbCIhFK7S5su3WnunJZWVU/OUfNg6phye72OlA
qtgjAj0zgRtBb8SP2QB8YmHPB2r6udOAUBEA6KnMb4hZdtCPQb/GiZwJR4XVdJ6X
ZCA3Q7Us5AEAtHI2N9Nfa9XtrIYQyZ+m2EyE4ZPIQRE7d9Vb+OdFq4pUmv6LYd+0
5ZaAX1+G9kTbe0+ji7g/cboJDdf1aJpMwvvdwZ0oGgc5/a7IFLKenEv9nL+aHO4I
xaD+W+nYbnYbZBWdicFC7gUqwqZlDF2wEb5IoWIsp2q0hM6znSysKoFJKK7HbDfS
XAFN/qg9iIcW2PiAj6rtrrS6pV6CwJxslU/NBRnhkWDJu6LhSXm+5d87vwCnChku
9t+Mt43+DUBFXz8+TVsoeqpPM4N8iHovyd+BxIZRXj+LNzOha8KpGiOYsQQJ
=hESU
-----END PGP MESSAGE-----
fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMAz5uSgHG2iMJARAAsO1ZVTu1Oim7pQbBvJYIf2JjuTORXEzohwVguQl1ULK4
oB14MgUF6nPfcq4RyhbKF0rJ1HJznFikvo1+VpiztvxBuxEi0NnZh0DnrrJN/m8B
ArqyM3EdLSy9HvRsw2/1Lml3RMPaz2slKqZ/qL++uSrFvwLT+7YlExJfVCzrlLht
5L83WL6b6CDrJjS+M1RSvZfhx4Tpl0+1oneMgGQOL+xqfZlvR2ZZklsSL/GZu5lg
f164SLbSrY4m3Tv8kGzvvErpNB7o/zbm/ilUHQOrxNq/yWCXWbSZ86WkvoUed9B9
acBQsZE2BcBNIPu9odkb0sgtwwrgAgL2A1frM+JfHOSj6mj2klMspRDp80aCXnvF
QjmBMf1+EgETzxKWy18hGLChxyF2ju5500W5jhz20R8ZgtJijqrxgFz1MODfNFzy
G/OwHoCn3o18paAsH7tvisaEzkFghikhSUtAHfdV/5d8OZATtYH++yRXnMUAxAZL
E7J643oR80G+r0vlTQ5/BGp0HsohGSAZE97fGOqF9Ixpvai7T+cOpkQ9k2NEYrhR
t5s2aTVot9RpC0Dvl4UjEnzidd7n2bRHd4+tavf5fNJDXlmokdsjkZW1fBwfxDfo
usNLBOq/mEd/ppL2nzDKNFrD9gEM72O5Zm33nkGkvIb+g8ozn+k+S9v5/ny/HKHS
XAFp5B5Izcx1y4xnkGL5PYHMPqskSFSGvb1c+lJrxIOPdnLdC/V3cY8l+SlEys2I
tNCKxYN1QSiGoHUp+8S0c1aUZ1sLmfN2Igq5a+5Nugoy2bTNlYsyDNwSexZi
=uTf6
-----END PGP MESSAGE-----
fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMAw5vwmoEJHQ1ARAAgegeCvVNL60imW3cGvjuIRW8gX3ibEgtIRY3sBfQVhrI
D1+9KCjrtW09exCEA4eUVNSfVA2n5P3HruwNVt/TOoLDwWzVb9DcUVTdqwGXbkOQ
LDo60ZYAkZZm6QGwPq0EpRGkEEVNDL9xKH1/AR4+g+qGRNyJeEN4iFekeeqHR1w8
zel9CkqQGrD7p2GY2lqXIAyUEWb6luFEHOgdoeWs67tqWyGX/he2hlS4dninNpGF
dtD2derCPrJarGYK0deZuuIfMpVWHpmIEn6qi9wvdZVPjtMuaNdF1en7QLPq2Yup
sLe43wLeaqQWREPGclqVye/+H7BgO4vQzdMQeVNTk+aWPVGEWcnIaNlalP/kPkAI
Jqs9ch4Et3VMa+AsYXmti3tcgUhMh+H8GSy9MEVBayAwOMUxWB4G+CrKZdEaKKp/
KY+8hkmnRZq2vfdIs1pdwd5ZYg+ea2mchmM50cIVnNO41rjtJDmrKZXjUps74ZOC
PffZmpVH7TntWB0BKRSE38LFRw8appBOizQQfCuk4X+Ug+IHbBfdIG8GdzoEb10b
aBt8un4VAb5TiLIQAtfFnn4E6cTmF+L9yp6w2Pt2QXFHmRwLGAevX9C4bGrdDoQu
OAxB5MZVZ/cafBeOO04EhF3xv4Ok1XO5k3h7aOVA9uviJaYw1WWpVON19jt18WTS
XAEjk3TwvnlZSA7Gs74XciRaFxzDYf07y18o5nRq1OHU5pP7QXUGYMLM0L3o4xdJ
Yhp7/88UOJ3eUgXpsb0jBP49uMCUZ9N2RPqh0S5m3X+eYg0rlq+wDKMIlu3q
=PuWm
-----END PGP MESSAGE-----
fp: 87AB00D45D37C9E9167B5A5A333448678B60E505
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMAxjNhCKPP69fARAAlS1idHNZlbdSk59UjKFPFI1yQgCxxFaZLuz6p3eEgWu7
TMsiu38C+xHkuFh49VC6A+1cvyF+zmhJUz2js10L/kZemPmDbdpirGa8z5zzRapA
EzCGtY/fRbeqK2WFJkQyPpibTZkS2YrTypqdzz2UgfWDq1TUPEmODP/A0jjL/QeO
N18uHLmXvu3dYJL4saUf8o0gfU1QnbjXa4CUXxRpAzxXnjlzqtuCtsIdSdd0sXPz
8BLMWP30rv+FOwxa4QxOEYE0w2b8ZtdNPde6fqXK8+SGqXOlwvaw5Zf/aSLJD3hS
puWnh/RPJEEQAFdyRII1L1bxNr3PzLZZc57HmMBtIhETeK+gHH7qI6WlH6SpKDHh
udPDS6l3EvtnoPMc5yLJpGufyF1gIyCAdYC7+ARVxwSjU9FGL1x5cifAHLseebOj
t8IEDi6yxv0TzTv9zmWnV5405q6AtmKzMks9FVtrif9ExXnw/lbdMjUKSDOBwVWm
InyVidkhYMQiYcZzsWqrv8FNnmniF68zxlGuq2ny7OGqJAR/oWxoN/B/ZxRgXbyV
d6pGTTGam4TLkkGRfDtLPTPe8icWCcUSXtK1djIHXDkuqmhnEEY+hsJI4MrIOBMs
C/+SNL48xsHtDcmVZZJRxrggyV8lcZhgSV7DwpmVtOcLPwn47/40V51CZOVlUNfS
XAHAWfb4T48MeRVL1DKpP1HOHBIV6AVndQAPS1R+uBuI7k2+kR88mmZ9+n8i+N4+
pcdMMUGOu0pXP+fSPxJvF9pGy1DtxANb/qGQSQcjbUzfSDEdOX21IdUZo7ts
=YMQQ
-----END PGP MESSAGE-----
fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA1Hthzn+T1OoAQ//ToBZhsgFWCk+LsW3ScRy5Y64f+Z82gQp8zKlUGhxB4re
JZYWX2HtWk6FVM9NYUKh6mFAUBsvWpod4zR03Om7e9I16cH+4RFi/M7p8vBpG5ck
pKRoMy2wolgTDKK6FUKNEX/DO2mz6JUTLeSgcblI27DlK+jWY1YNP20ODShHHlsA
6vm4sNllo8Ej3WBI347lRHMO+14l42tyJ3CTkBowYt4MHBDv5AHV7uDB4sV3I0O6
6pjBGXQyAix8/4ljEyTOLzLBVb4KjBbBTFpEqF4nxxGOJ0DMssK71zf6OQXqDd+t
dAfdbeKJQv9IudqVYS1r0eU4jnTblJ3Wg9flTyL7e7SK4zaxTOxgd2Boft2LGVG8
fJB/n3LUegYrm+K1+sBhnKpYbjYHNSOyPDczLCZSw7/r0XuhMdeR/mRDhTbj1BIK
Iku8OHOJDiiW4map3FC3gs+cZVPmIvpB+hXZdt6CzhFWNM05eMMNVkEYq10v+WFg
zAlTRw3OjeeiOHfa5HSwvm3odMDLWpIoGnHqgjah0aHuG/Yxk8q4v8N9UmGoDdzi
JWtAJAe9rzDrfXyHFmpmGfdJJZLUl040H4Td1Cqjof29LWNqdyKycKTurCUEGkIb
1NoknZcqcYBb6QRgfKrvpJYaKPEeLJzUkXtmlxBVTL31AKxN/JI8zb8sx6WTBqbS
XAEZrcDaakMtBR6mbOBOLWMoaUcGr+6938jKu8Yy4zq2tCqsl6C1mdsUpo6XAz53
4re9bIIQTKyB5RpcdBk0pS40sUH/3KgzuElnf6pYbfh+rGi4xP0/07Syzayq
=wXrp
-----END PGP MESSAGE-----
fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA46L6MuPqfJqAQ//ctAmGn32Qh/uQn4AiQKXtvrS+4TP4BCf3GAg83+IrV+M
dNcIYqynZeMbrxbrf27k7RlF64DxZ+N6hGfUYMKguJRWTcQfO+cmCntPSHVpfzQJ
n5L/MLs5b0sUPo9J691mA0rN4GHto+2xR+BnhWJkDMuz7rBKdShtDjtNhKiuNDvG
0XRBsCkwm9u5PlQGc7q9bNVliJE0w0znw5sjNoLDgPnmKLP44RQ9y8Dc+zBidWKZ
2VxI2jRY44dOQNfNsbBPH1SeDpy2v/AF4SsKmL937axm2Q7Hg+zgX+PktOGJ/Jo4
nSAP1FcGTRuTIBiRPpS9WwuGqZCc1ez+P6c6fb31CCNIWa8VnWzHzcqkEY+9NrqN
hfvZRK47Am5cVlVENfLneH869HKzF1kqZr2tvD7UvQNwvFZPTJ+8gv+FID4F03xn
4Xsy6qDIqxy4F5YjBAs1Mi/33jFPnUUQ+w3dnzRi1FwLR4q/yJGlTWUfl7Bxw1zE
VuzMvUIBk7r6fZZDKvXJjZSjtobwxogRdnr2lT/ruCd+eDvt4D/ti6bBbz+JlEEe
YltGv8KpIhV4y7AFjEhqRtMBFvKzGcC/JOp+Gsj7O5mA3Ogy1GgfjPVmB2Q187Sw
62ykvf/fDhv1OGFAYKwfFK2YGCpHqnDS48LuXNcZj7u4JI8oAM4FRjGIGnuO4pfS
XAEhI0TL1d3/aKy9SLA/FoFgMBlzxCNpT5DZ9aHxSKYRIegagwauPceEA95v/unY
jN51RpUC/gyIVw/+UuC5t2jHQkDS+hydYELbFsdYuTRbrPjSz3Ge/vSwWooR
=ymhT
-----END PGP MESSAGE-----
fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA4EEKdYEzV0pAQ/8CPtwC6jPxdUyHsk+RMK/xIy0yL8r2NTpmBew/1zY+pih
EvnZGDZexJykZg8B03TdGL0s6aSxgjwi0LAZ7qRubBF/TXi1JSJhlROIW+k5GDM/
+CkkjWOTfGLHSafDQ6OKbbQgRbf4GP4AsT2ZCRd+Dk0PJzO8ICnhR/ZOMMMlTi+A
of4mqd8H6gaLLuf1bjb4HHM7GJIUTkbK56u30GiXFIUjSJ+kKboc0LlbMEDqUB98
QCQ9DElG5Q4fH+wZJmjrUpaQ4txM7ABTutMARiYcDUsC2Z640DnVCpyD4vUu7ZCf
zrzl0vMl7/+NUWT6vx6IotZJj5bK/F+LVNjqN2LI+bjzTTbh9jbH0w4s4LnyeO4Y
3oDD8K0xBpTuek1EGGGmtJmnoQT8wXUs+XACMObzshvdfro2KDMekzjP3cHR3N3m
yILon0B7I5E8qceXn0ZPQXsP1cBgOR2Eu33XGQLyXUh8vdncMpDFx6Qf42GMn/lc
JBQAtgTXvL4CyGoSWlbx14gYOJa7Jez72tm6vjfE5fuC73dOcfY+h59XU3xMK4bi
R7Ba3tZF65uVmiuSFivlf2C0fC39Egw6a8GuWLtvUMqCpi7joYAEGfd3bVK/TeMH
E8zIIhGbUMYGv8oS1HyVHmqRdpmPOa+YiRlFzzJqB0IbdhagLrL7uTgJIUm+OLHS
XAFGC/FlltpkMQ7sEfdZiRgB1yOrPdaSbwp9bOccFuBkGH+58X4q5Kke7JyjpsOO
aVA4HUvsqALPdGnE1z6TpirBPhwYcVyC1LtcpMViqNN5JprWGzHkMSrXcJFl
=dntG
-----END PGP MESSAGE-----
fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DQrf1tCqiJxoSAQdAfJcoaQ1WypPricR9/hjAcnxLFinJos5ajTgbbxB0KnAw
EAxMuZgLmknirCpXxGDpDaeWatqsPGqcuONcYdFKoy3xMMatWIk0neJzsIVItZCG
0lwBfA1rL1XNOmvmnsbFrWABw0Y/TTz2HpTUPfa/eJAUrShRmiyvDqBBaPN6DeM2
Q00XFPHInz3riSEeHPO63f27aAdBKW3zyDu80bDzSOh0pGIvh9m7vyB8iVSRGA==
=8xeW
-----END PGP MESSAGE-----
fp: B71138A6A8964A3C3B8899857B4F70C356765BAB
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DzAGzViGx4qcSAQdAIIDwiis6tJimnExN97YF75eZOZ9kK1uHbYY0v/gFKnEw
j/ZR85JomV0aSYrGCOWMTkjbZg2XvncuTf+zIQjaHgxTTh+wOF7u3RvZcM3e/LGW
0lYBLF40LkNwK/qPQWJIyxOPTICyjbJcBZt11s7evwDvVdh7Hi1vgdIM1iZLsXnD
PZZnUirNmHS1RnyhoXYtQGMVVCupzfB5R7aPMDTbQrHxV3tOby3b7Q==
=81lR
-----END PGP MESSAGE-----
fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD
- created_at: "2025-07-04T17:33:05Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA2pVdGTIrZI+AQ//fZDjW0Rj8QCyTTLXJHP4Pkdytkhl4QEVimDb5Kjk8f1x
9O/1yHwN6cdBgH2GuWUrc9GuUcy8c30qJ+IZ2/8u0tM050fDvfcbHsw7iLc79TXN
WX43uC3kYslMLJv4bZyavLNYrsnh7yNST/K51xaiFj4Iq0iAB3ieY7X43zSuK4x/
oV5cbNvXgwHrjhsSI2EoqeF9sVw1ONmEVlFXfVmLGwmHkpaaD2UJZabA8iw2kf8m
/WLTbBMAeKoDG525jFFYd3XVRbPQT7BMQ6S37X1Wu4QAG8u/30CEYSrmX0BkNrnJ
ssnDND/JMG7VPtR2Ui8a7pmUIWB+NNNLCCj29c7HuOTX+m8D7HyFZ1gHb74MH+pl
qjuQ1htFBzOEDSQgP1lE0au34WfKtaTR550S2I2Wc1kj7oe+rFkL2T7msASlkxdE
dk29Gtz0DAmodkxePKy5CeTKO2W/7gfTCqi66UqCmCMqaCZ2xdZxTuv3n1crG7Cc
dEYzhQJ7zmL8husR+SAf8V9DKhsg8GEAmqBcZanH7jeAU26jjsqjfiPPg8Ge0FlK
KCd60AgSPs8rCXCEh4RDrK48xVJm/SXa9viZAQZFyVH94Uk8+djg51Lilk22Wgul
DLruXoPxyFeBCHZ3t/6pc8M/ikWUvGxwmDgaFVpGGmFNx2ip+YLBCSxLa+tKQWHU
ZgEJAhBM6vDQw2PauDzejUXvDrRbpq5XECW3SI8Tm9tdr8cp2L6r9Aegs6zo+HP3
qYkgUPoTPgXyh6O5zDuC0TDt29xVEHRPBTH309rcYYXOGOVctHyaQsuj7iZo9QWV
Qax2fAfcZw==
=lF2h
-----END PGP MESSAGE-----
fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533
unencrypted_suffix: _unencrypted
version: 3.10.2

View file

@ -0,0 +1,8 @@
docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/compose.yaml.j2') }}"
docker_compose__configuration_files:
- name: accfile.conf
content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/accfile.conf.j2') }}"
- name: regexroute.conf
content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/regexroute.conf.j2') }}"
- name: regfile.conf
content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/regfile.conf.j2') }}"

View file

@ -11,12 +11,16 @@ all:
ansible_user: chaos
thinkcccore0:
ansible_host: thinkcccore0.z9.ccchh.net
yate:
ansible_host: yate.ccchh.net
ansible_user: chaos
certbot_hosts:
hosts:
dooris:
docker_compose_hosts:
hosts:
dooris:
yate:
foobazdmx_hosts:
hosts:
light:
@ -28,6 +32,7 @@ infrastructure_authorized_keys_hosts:
dooris:
light:
authoritative-dns:
yate:
nginx_hosts:
hosts:
dooris:

View file

@ -0,0 +1,12 @@
# Yate Configuration
Yate has a [beginners guide](https://docs.yate.ro/wiki/Beginners_in_Yate). Otherwise, you need to refer to the [sample config files](https://github.com/eventphone/yate/tree/master/conf.d).
For our limited setup, we only need three files:
* accfile.conf for defining SIP registrars that we want to register with (EPVPN, Fonial, and the Fux door intercom system)
* regexroute.conf for the call routing rules
* regfile.conf for the phones that connect to yate.ccchh.net
## Docker Compose Setup
yate runs as a container wiht host networking. The image is build through https://git.hamburg.ccc.de/CCCHH/yate-image, it is using the Eventphone fork of yate.

View file

@ -0,0 +1,51 @@
; Yate will register to these SIP services
; see https://github.com/eventphone/yate/blob/master/conf.d/accfile.conf.sample
[epvpn_test]
enabled=no
protocol=sip
description= testing in/outbound routing
username=
authname=
password=
interval=120
registrar=hg.eventphone.de
[ccchh]
enabled=no
protocol=sip
description=yate.hamburg.ccc.de
username=1008
authname=1008
password=5kVLqoQ7CmCV
interval=120
registrar=hg.eventphone.de
[landline]
enabled=no
protocol=sip
description=CCCHH landline
username=
authname=
password=
interval=120
registrar=
[doorbell]
enabled=no
protocol=sip
description=CCCHH doorbell powered by fux-infra
username=
authname=
interval=120
registrar=
[fritzbox]
enabled=yes
protocol=sip
description=yate-fritz betatest
username=624
authname=624
password=n0vr3jn305894j2
interval=120
registrar=10.31.210.86:5060

View file

@ -0,0 +1,20 @@
---
services:
yate:
image: git.hamburg.ccc.de/ccchh/yate-image/yate-image:latest
# command:
# - sh
# - "-c"
# - "while :; do sleep 10; done"
environment:
DEBUG: true
network_mode: host
# ports:
# - "127.0.0.1:3000:3000"
restart: unless-stopped
volumes:
- ./configs/accfile.conf:/opt/yate/etc/yate/accfile.conf
- ./configs/regexroute.conf:/opt/yate/etc/yate/regexroute.conf
- ./configs/regfile.conf:/opt/yate/etc/yate/regfile.conf
- ./lib-yate:/var/lib/yate

View file

@ -0,0 +1,69 @@
; Call routing
; see https://github.com/eventphone/yate/blob/master/conf.d/regexroute.conf.sample
[priorities]
; route: int: Priority of the routing message handler
route=90
[contexts]
; INBOUND CALLS:
^[0-9]\{4\}$=inbound ; Calls from 4 digit numbers: EPVPN
^+\?[0-9]\{5,\}$=inbound ; Calls from longer numbers, optionally starting with +
^*\{1,2\}[0-9]\{1,3\}$=inbound ; Internal fritzbox calls
; OUTBOUND CALLS:
^[a-z0-9]\{4,\}=outbound ; calls from internal users
^.*$=fallback ; Whatever calls managed to not be handled yet
[default] ; unused
^.*$=echo [default]"\0"
[test] ; unused
^.*$=echo [test] "\0"
^99991001$=tone/dial
^99991002$=tone/busy
^99991003$=tone/ring
^99991004$=tone/specdial
^99991005$=tone/congestion
^99991006$=tone/outoforder
^99991007$=tone/milliwatt
^99991008$=tone/info
; DEBUG HELPER
; ^.*$=echo match \0 adr ${address} src ${callsource} form ${formats} id ${id} peer ${peerid} type ${type} user ${username} caller ${caller} called ${called}
^[0-9]\{1,2\}$=return;called=\0
[outbound] ; Calls from internal users
^[0-9]\{1,2\}$=jump z9 ; To internal -> z9
^.*$=echo [outbound] "\0" ${caller}->${called} ; log for debug
^.*$=line/\0;line=fritzbox ; Route everything (.*) to the specified accfile line
[inbound] ; Calls from EPVPN or outside world
^.*$=echo [inbound] "\0" ${caller}->${called} user:${user} ; log
^.*$=return;callername=EXTERN ${caller};called=0 ; set call recipient to 0 (shared alias between
; all clients in regfile.conf
[z9] ; Internal calls
^.*$=echo [z9] "\0" ${caller}->${called} ; log
; test service numbers
^91$=sip/sip:ha@10.31.208.10:5060; called=ha;format=opus ; Homeassistant
^98$=external/playrec/echo.sh ; Echotest
^99$=external/play/tts.sh;mode=text;text=Hallo Hallo Hallo ; TTS test
^.*$=return;called=\0 ; Any remaining internal calls to all
; Context: Calls to regfile.conf aliases are always
; handled directly and should never get here
[special]
^.*$=echo [special] "\0"
^.*$=tone/info
[fallback]
^.*$=echo [fallback] \0 adr ${address} src ${callsource} form ${formats} id ${id} peer ${peerid} type ${type} user ${username} caller ${caller} called ${called}
^*\{1,2\}[0-9]\{1,3\}$=jump outbound
^.*$=tone/busy

View file

@ -0,0 +1,70 @@
; YATE offers registration to these SIP devices (ie. phones)
; see https://github.com/eventphone/yate/blob/master/conf.d/regfile.conf.sample
route=100
file=/var/lib/yate/regfile.swap
[echt]
password=test
alternatives=0,9,91,3248
[test]
password=test
alternatives=0,9,92,3248
[unittest1]
password=test
alternatives=93,3248
[unittest2]
password=test
alternatives=94,3248
[door]
password=test
alternatives=0,1,11,3248
callername=Main Door
[kitchen]
password=test
alternatives=0,1,12,3248
callername=Kitchen
[desk]
password=test
alternatives=0,1,13,3248
callername=Desk
[workshop]
password=test
alternatives=0,2,21,3248
callername=Workshop Lobby
[clean]
password=test
alternatives=0,2,22,3248
callername=Clean Workshop
[dirty]
password=test
alternatives=0,2,23,3248
callername=Dirty Workshop
[dect1]
password=test
alternatives=0,3,31,3248
callername=DECT-1
[dect2]
password=test
alternatives=0,3,32,3248
callername=DECT-2
[analog1]
password=test
alternatives=0,4,41,3248
callername=Analog-1
[analog2]
password=test
alternatives=0,4,42,3248
callername=Analog-2