{"id":42744693,"url":"https://github.com/zlargon/iaxclient","last_synced_at":"2026-01-29T19:10:08.028Z","repository":{"id":17981810,"uuid":"20985986","full_name":"zlargon/iaxclient","owner":"zlargon","description":"git svn clone svn://svn.code.sf.net/p/iaxclient/code/trunk iaxclient","archived":false,"fork":false,"pushed_at":"2014-06-19T03:11:48.000Z","size":4360,"stargazers_count":0,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-08-08T02:14:06.309Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zlargon.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING.LIB","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-19T03:10:39.000Z","updated_at":"2014-06-19T03:14:37.000Z","dependencies_parsed_at":"2022-09-24T21:20:52.304Z","dependency_job_id":null,"html_url":"https://github.com/zlargon/iaxclient","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/zlargon/iaxclient","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlargon%2Fiaxclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlargon%2Fiaxclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlargon%2Fiaxclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlargon%2Fiaxclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zlargon","download_url":"https://codeload.github.com/zlargon/iaxclient/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlargon%2Fiaxclient/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28882767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T16:41:59.663Z","status":"ssl_error","status_checked_at":"2026-01-29T16:39:39.641Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-29T19:10:07.129Z","updated_at":"2026-01-29T19:10:08.020Z","avatar_url":"https://github.com/zlargon.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Iaxclient has changed a lot in the past months making this file inaccurate.\nFor reference purposes we are still including it with the distribution, but\nbe aware that a large percentage of the information in here is outdated and\nno longer applies.  The situation will be rectified in the near future, but\nuntil then, use with care.\n\n\n=======================================================================\nINTRODUCTION\n\nThis is iaxclient, a portable IAX/IAX2 protocol telephony client library.\n\nThe library itself is in the directory \"lib\", located in the same\ndirectory as this README file.\n\nThe library is designed to build for multiple platforms, and currently\nsupports Linux, MacOSX, Solaris, and Win32 platforms.  It is designed to\nhandle the \"backend\" of IAX telephony operations, including call handling,\nnetwork protocols, audio encoding/decoding, and audio capture/playback.\nIn it's future, it may be extended to also handle video encode, decode,\ncapture and playback.\n\nThere are also sample clients, which use the library, included here.\n\nCurrently, these are all stored under the \"simpleclient\" directory, and\nthere are three of them:\n\nsimpleclient/testcall:  A simple command-line oriented test program,\n                        useful for testing and debugging.   It supports \n                        all of the same platforms as the library itself.\n\nsimpleclient/vtestcall: Like testcall, but for testing and debugging\n                        video calls. Requires SDL.\n\nsimpleclient/wx:        A wxWindows (see wxwindows.org) based GUI\n                        client.  This client also supports all of the\n                        same platforms as the library itself.\n\nsimpleclient/WinIAX:    A MSVC/Win32 client.  This only works with\n                        Win32, obviously, and was contributed by\n                        Faizan \"Tili\" Naqvi \u003cfaizan@tilizone.com\u003e\n\nsimpleclient/tkiaxphone A command-line client, with a Tcl/Tk GUI\n                        client that drives it.  It should work on\n                        all the platforms\n\n\nThe home page for iaxclient is \"http://iaxclient.sourceforge.net/\"\n\nUp-to-date versions of iaxclient are available from a sourceforge SVN\nrepository.\n\n\n=======================================================================\nLICENSES\n\nThe iaxclient library itself, is provided under the terms of the LGPL:\n\n    This library is free software; you can redistribute it and/or\n    modify it under the terms of the GNU Library General Public\n    License as published by the Free Software Foundation; either\n    version 2 of the License, or (at your option) any later version.\n\n    This library is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n    Library General Public License for more details.\n\n    You should have received a copy of the GNU Library General Public\n    License along with this library; if not, write to the Free\n    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,\n    MA 02111-1307, USA\n\nThe iaxclient library may also include, when compiled, works distributed\nunder other licenses.  See those directories and source files for\nspecifics.  These include:\n\n    libiax: \t\t(c) 2001 Mark Spencer under the LGPL.\n    libiax2: \t\t(c) 2001 Mark Spencer under the LGPL.\n    gsm encoder:\tCopyright 1992, 1993, 1994 by Jutta Degener \n\t\t\tand Carsten Bormann, Technische Universitaet Berlin\n\t\t\t(free license, terms in gsm/copyright)\n    portaudio:\t\tCopyright (c) 1999-2000 Ross Bencina and Phil Burk\n\t\t\tModified BSD style license, in portaudio/LICENSE.txt\n\n    sox tools: \t\tcompand.c: Copyright 1999 Chris Bagwell And \n\t\t\t\t\tNick Bailey\n\t\t\tresample.c: (not currently used) Copyright 1991\n\t\t\tLance Norskog And Sundry Contributors, \n\t\t\tfree licenses in source files.\n    libspeex:\t\t(c) various authors\n\t\t\tBSD-like license.\n    libtheora:\t\t(c) 2002-2005 Xiph.org Foundation\n                        BSD-like license.\n\n=======================================================================\nCONTRIBUTORS:\n\nIAXCLIENT itself was contributed to by:\n\nSteve Kann \u003cstevek@stevek.com\u003e\nShawn Lawrence \u003cshawn.lawrence@terracecomm.com\u003e\nFaizan \"Tili\" Naqvi \u003cfaizan@tilizone.com\u003e [Win32 VC++ build/client]\nScott Lambert \u003clambert@lambertfam.org\u003e [FreeBSD build changes]\nMichael Van Donselaar \u003cmvand@vandonselaar.org\u003e [Win32/MinGW build directions, UI changes, IAXComm phone ]\nSteven Sokol \u003cssokol@sokol-associates.com\u003e [ Debugging, Blind Transfer ]\nStephan Kauss \u003cStephan@kauss.org\u003e [ 32-bit alignment for IAX2 ]\nStephen Uhler \u003csuhler@sun.com\u003e [Solaris build, tkiaxphone]\nSteve Underwood \u003csteveu@coppice.org\u003e [PLC implementation from spandsp]\nJean-Denis Girard \u003cjd.girard@sysnux.pf\u003e [URL Receive implementation]\nPanfilov Dmitry \u003cdima@bdpu.org\u003e [Basic ALSA-native audio driver]\nMihai Balea \u003cmihai at hates dot ms\u003e\nBill Welch \u003cwelch1820 at gmail dot com\u003e [Project files for several MS development environments]\nPeter Grayson \u003cjpgrayson@gmail.com\u003e\n\n\nIn addition to including libiax, IAXCLIENT is also based in part on code\nincluded in test clients within libiax itself.\n\nThe included sub-libraries, including libiax, libiax2, gsm, portaudio,\nand the sox-derived filters, were developed by others, as noted in above\nand in their sources.  We couldn't have built IAXCLIENT (or, it would\nhave been much more difficult!) without the great work from these\nprojects.\n\n=======================================================================\nBUILDING THE LIBRARY:\n\n  ./configure\n  make\n  make install\n\nSee INSTALL for generic information about the building on Unix-like\nsystems.\n\nSee README.VisualStudio for information about how to build with\nMicrosoft Visual Studio.\n\n=======================================================================\nLIBRARY ORGANIZATION/DESIGN/CODING CONVENTION NOTES\n\nThe iaxclient library is designed to be a small, simple library that\nencapsulates all that you need in order to make IAX protocol telephony\nprograms.\n\nAll exported symbols should be prefixed with \"iaxc_\", to avoid namespace\ncollisions/pollution in programs using this library.\n\nThe header file \"iaxclient.h\" should contain those declarations needed\nby client programs, but not rely on other headers (i.e. those from\nincluded libraries).  The \"iaxclient-lib.h\" header file is the main\nheader file for the library's internal declarations.\n\n\n=======================================================================\n\nSAMPLE CLIENTS\n\nThe \"testcall\" sample program, provided in the simpleclient/testcall\ndirectory (above this \"lib\" directory) is a simple client program which\nshould also be portable.  \n\nThe Makefile for \"testcall\" will automatically build or update the\nlibrary when it it built, and the requirements for building testcall are\nthe same as for the library itself.\n\n\nSee README files in the other sample clients for directions for building\nthese.\n\n=========================================================================\n\nCODECS\n\nThe codec API is pretty straightforward; just use any of the existing\navailable codecs as a guide.  The only place in the main code they\ninterface is the switch in audio_encode.c:create_codec\n\nILBC\n\nLots of people are enamored with iLBC lately, so I put this together for\nthem.  Personally, I prefer speex, because it seems to sound just as\ngood, but has no license restrictions.  With proper compilation options\n(i.e. use it's SSE optimizations), it can be made even faster than the\niLBC reference.\n\nThere is glue to build iaxclient with iLBC available in the source, but\nthe source to iLBC itself is _not_ included.  This is primarily because\nof the licensing issues.\n\nI'm not a lawyer, but it appears that iLBC's license would make it\nimpossible to build iaxclient and link it with a GPL front-end, meaning\na library built this way is no longer something that could be considered\nLGPL.  However, you could probably build a client using iLBC and\ndistribute it legally, if you follow the rules in the LGPL.  So, this is\nan issue for you and your legal counsel to figure out.\n\nTo actually build iaxclient with iLBC, though is very easy.  Just make a\ndirectory under lib named iLBC, and drop the iLBC reference sources into\nit, then change CODEC_ILBC=0 to CODEC_ILBC=1 in the Makefile, and away\nyou go.\n\nThe source presently is set up for the draft-5 version.\n\nThe iLBC license and software can be found here \nhttp://www.ilbcfreeware.org/software.html\n(sources are also in asterisk).  \n\n=========================================================================\n\nAUDIO DRIVERS\n\nThe supported audio driver for iaxclient is audio_portaudio; which uses\na snapshot of the portaudio v19 library (included, with some minor \nmodifications) to access native audio services on each platform.  \nIt includes support for Windows (WMME), Linux (OSS, ALSA, JACK) and\nMacOS X (CoreAudio). \n\nThere is a (presently broken) WMME-native audio driver which was used\nduring early development, and is no longer maintained.  You probably\ndon't want to use this.\n\nAll three Linux PortAudio drivers are enabled by default and supporting\nlibraries need to be present on the system in order to build. If you\nprefer to disable one or more of the drivers, use the USE_PA_* options\nin the main Makefile.  \n\nDmitry Panfilov has contributed a basic native ALSA driver for Linux.\nNot all features are supported with this driver.  It is not compiled in\nby default, because this would add alsa libraries to the build and link\ndependencies -- and we don't have a good way of communicating that to\napplications (like pkg-config stuff, etc). To use it, though, you just\nneed to change AUDIO_ALSA=0 to AUDIO_ALSA=1 in the Makefile.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzlargon%2Fiaxclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzlargon%2Fiaxclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzlargon%2Fiaxclient/lists"}