djangopbx / djangopbx Goto Github PK
View Code? Open in Web Editor NEWDjangoPBX - A full-featured domain based multi-tenant PBX driven by Django and FreeSwitch.
License: MIT License
DjangoPBX - A full-featured domain based multi-tenant PBX driven by Django and FreeSwitch.
License: MIT License
I see you set pbx_call_recording_url to http://127.0.0.1:8008. But i can't find request log in general.log and find records not created. And I set record_session in dialplan、internal profile but it not effectived.
in fs_cli i call on direct:
originate sofia/internal/sip:[email protected]:5060 &bridge({effective_caller_id_number=}sofia/external/@36.33.24.241:5060) &
then mod_xml_curl response on 500:
2024-05-21 19:05:33.720773 98.87% [ERR] mod_xml_curl.c:319 Received HTTP error 500 trying to fetch http://127.0.0.1:8009/xmlhandler/directory/
data: [hostname=django-pbx§ion=directory&tag_name=domain&key_name=name&key_value=hfqn.vtiaojie.com&Event-Name=REQUEST_PARAMS&Core-UUID=fb839373-ddc0-43eb-ac94-bdffb3ce7629&FreeSWITCH-Hostname=django-pbx&FreeSWITCH-Switchname=django-pbx&FreeSWITCH-IPv4=172.16.2.51&FreeSWITCH-IPv6=%3A%3A1&Event-Date-Local=2024-05-21%2019%3A05%3A33&Event-Date-GMT=Tue,%2021%20May%202024%2011%3A05%3A33%20GMT&Event-Date-Timestamp=1716289533660815&Event-Calling-File=sofia_reg.c&Event-Calling-Function=sofia_reg_handle_sip_r_challenge&Event-Calling-Line-Number=2795&Event-Sequence=2093&action=reverse-auth-lookup&sip_call_id=e2bb6afd-9204-123d-00a8-005056a8c3ae&key=id&user=8002&domain=hfqn.vtiaojie.com]
general.log:
File "/home/django-pbx/pbx/xmlhandler/views.py", line 112, in directory
xml = xmlhf.GetReverseAuthLookup()
TypeError: DirectoryHandler.GetReverseAuthLookup() missing 2 required positional arguments: 'domain' and 'user'
INFO XML CDR request a_7e4ab290-3883-48fb-97f1-af84ba07916f: Unable to find extension.
how put name and domain_name?
i try post in :
originate {domain_name=***}sofia/internal/sip:[email protected]:5060......
and get a error log:
INFO XML CDR request a_7e4ab290-3883-48fb-97f1-af84ba07916f: Unable to find extension.
After much trial and error, I have found that the Fanvil X6U cannot make outbound calls (receives fine) if the nftables firewall is running.
pbx/resources/etc/nftables.conf
I have tracked down the exact line that the Fanvil takes exception to:
ip frag-off & 0x1fff != 0 counter drop
With this line commented out the Fanvil works correctly. I will continue to explore this issue by taking a packet capture from the Fanvil while its making a call to see what is happening.
Everything appears up and running but attempting to connect to a provider using the Gateway setup in the Admin Panel always fails with a 500 error and nothing in logs. But the Time of Day and Music on Hold features work great through a registered extension. :-)
Any idea what's causing this? systemctl status freeswitch shows Freeswitch active.
I'm going to give a shot at creating docker containers for DjangoPBX and would like to know if it interacts somehow with freeswitch through the filesystem (e.g. generating xml files for configuration, etc).
api/switch_registrations
you data from es 'api show registrations as json'
back data not contains registration_uuid,so it will cause error....
Tried going on in using DjangoPBX, but got stopped early ;-)
When trying to modify an extension, I do get "Server Error 500" with the following traceback:
ERROR Internal Server Error: /admin/accounts/extension/41eb87c4-8862-4a26-8a46-6d24934aa76e/change/
Traceback (most recent call last):
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/contrib/admin/options.py", line 714, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/utils/decorators.py", line 188, in _view_wrapper
result = _process_exception(request, e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/utils/decorators.py", line 186, in _view_wrapper
response = view_func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/views/decorators/cache.py", line 80, in _view_wrapper
response = view_func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/contrib/admin/sites.py", line 240, in inner
return view(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/contrib/admin/options.py", line 1944, in change_view
return self.changeform_view(request, object_id, form_url, extra_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/utils/decorators.py", line 48, in _wrapper
return bound_method(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/utils/decorators.py", line 188, in _view_wrapper
result = _process_exception(request, e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/utils/decorators.py", line 186, in _view_wrapper
response = view_func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/contrib/admin/options.py", line 1802, in changeform_view
return self._changeform_view(request, object_id, form_url, extra_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/contrib/admin/options.py", line 1853, in _changeform_view
self.save_model(request, new_object, form, not add)
File "/home/django-pbx/pbx/accounts/admin.py", line 295, in save_model
efsf.es_disconnect()
File "/home/django-pbx/pbx/accounts/extensionfunctions.py", line 75, in es_disconnect
self.es.disconnect()
^^^^^^^
AttributeError: 'ExtFeatureSyncFunctions' object has no attribute 'es'
Looks like the failure is somewhere here: https://github.com/djangopbx/djangopbx/blob/199af36e532b37c16f481e4e42b3bc43d73bda29/accounts/extensionfunctions.py#L46 between
(early constructor exit before es class var got created)
I do have a lot of ideas how to fix/work around, but guess all are bad :-/
Might take a look please?
Need to reinstall my FusionPBX on a Debian12@Raspiberry Pi4 but didn't worked due to a lot install failures.
Looked for an alternative because FusionPBX start looking badly maintained without payed account and found yours.
Looks promising!!
Did a quick try of DjangoPBX via install script. Didn't noticed any issues during install.
After install, had to change http & https ports (because already used on my Raspi) and was able to successful log in.
Looks again promising.
But whenever I try i.e. a:
I'm getting a "Server Error (500)"
systemctl status freeswitch
show that freeswitch looks running well.
Don't have any /var/log/django-pbx log, but do have a /home/django-pbx/pbx/general.log which logs:
TypeError: argument of type 'bool' is not iterable
ERROR Internal Server Error: /status/djangopbx/
Traceback (most recent call last):
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/envdpbx/lib/python3.11/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapper_view
return view_func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/django-pbx/pbx/status/views.py", line 90, in djangopbx
if es.connect():
^^^^^^^^^^^^
File "/home/django-pbx/pbx/pbx/fscmdabslayer.py", line 68, in connect
if '-ERR' in resp:
^^^^^^^^^^^^^^
TypeError: argument of type 'bool' is not iterable
Any clue what I did wrong?!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.