diff --git a/inventories/z9/host_vars/yate.secrets.yaml b/inventories/z9/host_vars/yate.secrets.yaml new file mode 100644 index 0000000..5c0d584 --- /dev/null +++ b/inventories/z9/host_vars/yate.secrets.yaml @@ -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 diff --git a/inventories/z9/host_vars/yate.yaml b/inventories/z9/host_vars/yate.yaml new file mode 100644 index 0000000..fecacb1 --- /dev/null +++ b/inventories/z9/host_vars/yate.yaml @@ -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') }}" diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index afe226e..4d847bf 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -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: diff --git a/resources/z9/yate/docker_compose/README.md b/resources/z9/yate/docker_compose/README.md new file mode 100644 index 0000000..1977f4f --- /dev/null +++ b/resources/z9/yate/docker_compose/README.md @@ -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. \ No newline at end of file diff --git a/resources/z9/yate/docker_compose/accfile.conf.j2 b/resources/z9/yate/docker_compose/accfile.conf.j2 new file mode 100644 index 0000000..6a3d10a --- /dev/null +++ b/resources/z9/yate/docker_compose/accfile.conf.j2 @@ -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 \ No newline at end of file diff --git a/resources/z9/yate/docker_compose/compose.yaml.j2 b/resources/z9/yate/docker_compose/compose.yaml.j2 new file mode 100644 index 0000000..e3d6614 --- /dev/null +++ b/resources/z9/yate/docker_compose/compose.yaml.j2 @@ -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 \ No newline at end of file diff --git a/resources/z9/yate/docker_compose/regexroute.conf.j2 b/resources/z9/yate/docker_compose/regexroute.conf.j2 new file mode 100644 index 0000000..d717aa3 --- /dev/null +++ b/resources/z9/yate/docker_compose/regexroute.conf.j2 @@ -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 diff --git a/resources/z9/yate/docker_compose/regfile.conf.j2 b/resources/z9/yate/docker_compose/regfile.conf.j2 new file mode 100644 index 0000000..229a228 --- /dev/null +++ b/resources/z9/yate/docker_compose/regfile.conf.j2 @@ -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