{"id":16389379,"url":"https://github.com/marcelog/astertrace","last_synced_at":"2025-06-21T08:05:22.584Z","repository":{"id":139307675,"uuid":"2094414","full_name":"marcelog/AsterTrace","owner":"marcelog","description":"Capture everything happening in your asterisk server and log it to mysql. Calls, DTMF's, generic events, etc","archived":false,"fork":false,"pushed_at":"2012-08-16T13:00:33.000Z","size":214,"stargazers_count":43,"open_issues_count":3,"forks_count":13,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-12T11:56:10.776Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://marcelog.github.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcelog.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-07-23T20:19:25.000Z","updated_at":"2024-02-26T17:02:08.000Z","dependencies_parsed_at":"2023-03-15T05:30:46.850Z","dependency_job_id":null,"html_url":"https://github.com/marcelog/AsterTrace","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/marcelog/AsterTrace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2FAsterTrace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2FAsterTrace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2FAsterTrace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2FAsterTrace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcelog","download_url":"https://codeload.github.com/marcelog/AsterTrace/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2FAsterTrace/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261088347,"owners_count":23107680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-10-11T04:32:42.814Z","updated_at":"2025-06-21T08:05:17.574Z","avatar_url":"https://github.com/marcelog.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Introduction\n------------\nThis was intended as an example of use mixing Ding and PAMI. However, it might be\nuseful as a tool to help you monitor/debug your asterisk installation, so I'm \nmaking it freely available.\n\nSee this article for more information: http://marcelog.github.com/articles/php_asterisk_listener_example_using_pami_and_ding.html\n\nAsterTrace is extendable via \"listeners\". Currently these listeners exist:\n* dial\n* event\n* dtmf\n* varset\n* newchannel\n* newstate\n* newexten\n\nSo currently, AsterTrace can monitor:\n* All events (event-listener)\n* Call activity (CDR like) (dial-listener)\n* DTMF's pressed (dtmf-listener)\n* VarSet's  (varset-listener)\n* Newchannel (newchannel-listener)\n* Newstate (newstate-listener)\n* Newexten (newexten-listener)\n\nEach listener is autosufficient, and get called by the container (Ding) whenever an\ninteresting event occurs. Ding will get called by the pami helper, whenever AMI reports\nan event. This event will then get dispatched to the listeners by ding.\n\nTCP Server\n----------\nAsterTrace uses the Ding TCPServerHelper to start a tcp server. This server allows you\nto connect and issue commands, also you can listen for events. The events and responses to\nthe actions sent are serialized with json :) You can try it via telnet.\n\nREST interface\n--------------\nAlso, a rest interface is available, so you can make it publicly available through a webserver. This\nrest interface will let you get events from ami in a json format. Ideal for COMET/Long polling.\n\nRequirements\n------------\n* PHP 5.3+\n* Ding 0.98+ (http://marcelog.github.com/Ding)\n* PAMI 1.27+ (http://marcelog.github.com/PAMI)\n* mysql server\n* log4php (optional)\n* pdo-mysql\n\nConfiguration\n-------------\nAssuming you are inside the root directory of the source (thus, having ./conf and ./src)\n\n1.- Copy/Rename the file: conf/log4php.properties.example to log4php.properties. Edit it.\n2.- Copy/Rename the file: conf/log4php.properties.example to log4php-rest.properties. Edit it.\n3.- Copy/Rename the file: conf/mysql.properties.example to mysql.properties. Edit it. The only\nthing you need from mysql, is to have the database created (nothing else, no tables,\nAsterTrace will create them on demand).\n4.- Copy/Rename the file: conf/php.properties.example to php.properties. Edit it. You can have\nyour own php settings here.\n5.- Copy/Rename the file: conf/astertrace.properties.example to astertrace.properties. Edit it.\n6.- Copy/Rename the file: conf/server.properties.example to server.properties. Edit it.\n7.- Run astertrace, like \"php src/mg/AsterTrace/bin/astertrace.php ./conf\"\n\nThanks to\n--------\n* Joshua Elson for his help in trying and debugging in loaded asterisk servers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelog%2Fastertrace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcelog%2Fastertrace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelog%2Fastertrace/lists"}