larsimmisch / capisuite Goto Github PK
View Code? Open in Web Editor NEWA Python scriptable ISDN telephony suite with an answering machine.
License: GNU General Public License v2.0
A Python scriptable ISDN telephony suite with an answering machine.
License: GNU General Public License v2.0
This bug report/patch was submitted via email from Mirko Ciecisnki:
anbei eine geänderte Funktion cmd_recordNewAnnouncement (incoming.py, Capisuite 0.5).
Bei mir klappte das Remote-Aufsprechen eines neuen Ansagetextes nicht. Das lag daran, dass die neue Ansage announcment-tmp.la im received Ordner abgelegt wurde, aber eigentlich eine Ebene höher liegen muss.Ev. kannst du die Änderungen verifizieren und dann einpflegen.
def cmd_recordNewAnnouncement(config, user, call, userdir): """ remote inquiry command: record new announcement (uses german wave snippets!) 'config' ConfigParser instance holding the config data 'user' name of the user who is responsible for this 'call' reference to the call. Needed by all capisuite functions 'userdir' spool_dir of the current_user """ say(config, user, call, "bitte-neue-ansage-komplett.la", "beep.la") tmpfile = os.path.join(userdir, "announcement-tmp.la") announcementuserdir = os.path.join( config.get('GLOBAL', "voice_user_dir"), user) while 1: call.audio_receive(tmpfile, 60, 3) say(config, user, call, "neue-ansage-lautet.la") call.audio_send(tmpfile) say(config, user, call, "wenn-einverstanden-1.la") cmd = call.read_DTMF(0, 1) # todo: allow eg. '9' for cancel and go back to menu if cmd == "1": break else: say(config, user, call, "bitte-neue-ansage-kurz.la", "beep.la") userannouncement = os.path.join(announcementuserdir, config.getUser(user, "announcement", "announcement.la")) os.rename(tmpfile, userannouncement) fileutils._setProtection(user, 0666, userannouncement) say(config, user, call, "ansage-gespeichert.la")
I'm currently trying to build this on a debian unstable machine (libcapi20-3 3.27-3+b1 plus related libcapi20-dev installed) based on top of mISDN + mISDNuser with capi20 support.
The debian package hasn't really changed since 2014, so I presume the code didn't build at least as long.
The problem is the check for CAPI_LIBRARY_V2 which is not defined in this environment:
checking for CAPI_LIBRARY_V2 signature in capiutils.h... no
grep LIBRARY_V2 /usr/include/*capi* /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2 /usr/include/capiutils.h:#ifndef CAPI_LIBRARY_V2
I'm not sure how this is (or was) supposed to work? Against which libcapi20 versions had this been working in the past?
I'm trying to disable the check and see if I can get it work, current WIP is at https://gitea.osmocom.org/retronetworking/capisuite in the unlikely case anyone cares ;)
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.