Asterisk help on understanding about texting - voip

Hi i am new to Asterisk , I installed Asterisk in my ubuntu , i want to know what is next , I want to sent sms , and voice mail , i am a developer please advice me, How and what to do next

Now you have start read books
I recomend order ORelly's "Asterisk the future of telephony" and read it first.
After that you need install elastix or trixbox and see how it designed, check common practice etc.
For more info you can check voip-info.org project and asterisk.org

Related

Reference_Cannot find Twillio_Account_SID

Used step as per --------https://www.twilio.com/blog/send-sms-from-microsoft-excel-using-twilio
Encountering the below error---- Cannot find name 'TWILIO_ACCOUNT_SID'
This is a standard script on Twilio page for SMS via excel...
could any one suggest a fix ?
Thanks & Regards
Gowri

How do you get the bot to move in node-minecraft-protocol?

I am trying to build a JavaScript Minecraft bot. I tried Mineflayer, but they do not support version 1.17.1. That's when I found out about node-minecraft-protocol, the library which mineflayer is based out of. They support version 1.17.1! I have been trying to make my bot move for the past three days, but I'm not able to figure it out from the docs. I even tried looking into mineflayer's code! Connecting to the server, sending chat messages, reading chat messages, and reading current position are all fine! It's moving the bot that gives me trouble. Or for that matter, flying, looking or anything similar (that takes f64/f32 values as input). To give you an idea of what I'm trying to achieve, here is something that I have tried running (-181.52092902441308, 84, and 134.53013736121238 are the spawn coordinates):
client.write('position', {
x: -182.52092902441308,
y: 84,
z: 134.53013736121238
})
I fixed it, for anyone who's looking for an answer! The problem was with the 1.17.1 update in the Minecraft protocol. You need to send 'teleport_confirm' with the 'teleportId' sent with the position update in order to actually move the bot.

Using mailutils-config to set askcc to False

When it comes to email configuration, I am not a smart man. I know I need to use mailutils-config or mu-tools to change the default value of 'askcc' to False, likely in an /etc/mailutils.rc file ... However, this file doesn't exist. Do I populate it myself and then alter the settings? Is there a one-liner I can use?
I've been all over http://mailutils.org/manual/mailutils.html, and that's how I know what I need to do - but not how to do it. Can anyone help? Thank you.
edit: On Ubuntu 13.10
I installed mailutils just yesterday and today spent hours trying to set the mail variable "savekeep" to True. The mailutils documentation is poor but I got things to work after finding
2.4.7 Personal and System-wide Configuration Files. So then the task is to find out how to write the settings in a mailrc file. You can refer to .mailrc File Format on the ibm.com website.
You need to create the file ~you/.mailrc for user configuration or /etc/mail.rc for system wide configuration. Here is what you need to write in the file to set "savekeep" and "askcc".
set askcc=False;
set keepsave=True;

How to get all npm packages that match a particular keyword in JSON format?

Not having any experience with couch and redis, this is becoming more than I can handle at this point.
The npm website allows you to search for packages by a keyword - https://npmjs.org/browse/keyword/awesome
However, it doen't provide any way of obtaining this information in json format - ideally, we could just do https://npmjs.org/browse/keyword/awesome.json but that is not the case :(
I know that the npm website is powered by couchdb and a local redis instance. The remote couchdb installation is http://registry.npmjs.org/ and powered by https://github.com/isaacs/npmjs.org
However, spending the day looking into this, I just cannot figure out how to get all packages of a particular keyword. Does anyone know how? Bonus points if you also explain the process that you went about finding out how to do it so I know for next time :)
Great question!
This will give you what you're looking for about a specific module:
npm view request
To get what you want for all modules you can hit the URL:
https://registry.npmjs.org/-/all/
After pouring through these two files:
https://github.com/isaacs/npm/blob/master/lib/search.js
https://github.com/isaacs/npm-www/blob/master/models/browse.js
I came to the following conclusions:
I'm super surprised there's not a better way to do search without hitting couchdb directly.
The command-line NPM client does search inside of node.js by sorting and filtering through the full results of that /all/ search listed above.
The website doesn't even bother with real search as it pawns it to a search engine
The search by keyword thing you want won't get the same results as command-line NPM. It's really limited in scope to the keyword attribute, other search options may be available through (see search.js above)
The query is going to look really weird.
Try this:
https://registry.npmjs.org/-/_view/byKeyword?startkey=["keyword"]&endkey=["keyword",{}]&group_level=3
Also, one quick note, this is the kind of question that would probably get answered in the node.js chat room or mailing list in about 4 seconds :)
Hope that helps.
Based on this answer I wrote a small lib for node, https://github.com/wires/npm-keywordsearch.
npm install npm-keywordsearch
then
var search = require('npm-keywordsearch')
search('my-plugin', function (error, packages) {
packages.forEach(function (pkg) {
console.log(pkg.name + ': ' + pkg.description)
})
})
Maybe useful for you
Sometime in 2018, npm retired the /-/_view/byKeyword API:
https://registry.npmjs.org/-/_view/byKeyword?startkey=%5B%22docpad-plugin%22%5D&endkey=%5B%22docpad-plugin%22,%7B%7D%5D&group_level=2
The new API is now: /-/v1/search:
https://registry.npmjs.org/-/v1/search?text=keywords:docpad-plugin&size=250
Documentation for it is here:
https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#get-v1search
I've updated the pluginclerk package accordingly. It is a node package that provides an API to hit that call, while providing caching, as well as dependency compatibility resolution.

How to call telephone number through asterisk trunk from external application talking through prophecy?

Wow, that title was a mouthful...
I'm sure that sounds very confusing at first glance. This is the basis of what I've got going on:
I have:
-a server set up with Asterisk and Voxeo Prophecy running on it.
-Prophecy set up as extension for Asterisk.
-another server running an external application.
The external application generates some two XMLs: one ccxml and one vxml file, for Voxeo to read and execute, which then initiates a call to (up until today) an asterisk extension.
The project is moving along, though, and yesterday I got a SIP Trunk and a DID number in hopes to turn this application into something that can call real people.
The trunk is working on Asterisk, and I've been able to initiate calls through a softphone (X-lite) to my cell phone number. That works just fine.
However, when I try to initiate calls from the external application, it does not go through. I've tried numerous things to try to fix it but it's just not working.
Prior to the trunk/DID business, the working code to call an asterisk extension was as follows:
<createcall>dest="'sip:*Extension here*#*IP Address here*'"
connectionid="myOutBoundConnectionID" timeout="'45s'" callerid="'*Extension here*
#*IP Address here*'"</createcall>
My first thought was that I might need to have a trunk specified for Prophecy as well as for Asterisk, but I'm probably way off base.
The reformatted code that I thought would work was as follows:
<createcall>dest="'tel:*Phone Number here*'" connectionid=
"myOutBoundConnectionID" timeout="'45s'" callerid="'*Phone Number here*
'"</createcall>
...but this does not work at all.
The log files say things like this when I call from my softphone:
-- Executing [*My phone number*#from-internal:1] Macro("SIP/1001-0000007d", "user-
callerid,LIMIT,") in new stack
but when I call from the external application, things are a little different:
-- Executing [*My phone number*#from-sip-external:1] NoOp("SIP/*IP Address:5080-0000007c",
"Received incoming SIP connection from unknown peer to *phone number*") in new stack
Can anyone shed some light on what is happening here? Thanks in advance!
You should make your reformatted create call look something like this:
<createcall>dest="'tel:*Phone Number here*#*IP Address of Asterisk*'" connectionid= "myOutBoundConnectionID" timeout="'45s'" callerid= "'*Prophecy's Asterisk Extension'"</createcall>
Make sure your Asterisk server has an outbound rule to hit 10-digit phone number via your SIP trunk (I assume it does if your softphone calls work.
Depending on your SIP provider, this may result in your outbound calls appearing to come from the Extension number, not whatever external number you want to present. If you wish to present another number, you probably need to get prophecy to register the SIP station it uses, if you haven't already (in Prophecy's config.xml), in fact you may need/have to do this anyway before this will work.

Resources