|
From: Scott B. <sco...@at...> - 2015-03-08 10:30:45
|
All,
The documentation with the Range Networks book for installing and configuring OpenBTS version 5.0 has been excellent up until the point where you actually need to configure phone numbers for your phones on Asterisk. I could really use (and would very much appreciate) some developer assistance here.
I have already followed the instructions under Adding a Subscriber on page 29.
EXCERPT FROM BOOK:
There are two ways to add a subscriber using nmcli.py. The first creates a subscriber
that will use cached authentication:
$ ./nmcli.py sipauthserve subscribers create name imsi msisdn
The second creates a subscriber that will use full authentication:
$ ./nmcli.py sipauthserve subscribers create name imsi msisdn ki
-----
./nmcli.py sipauthserve subscribers create "iPhone 4" IMSI214057715229963 \ 6055551234
^^^^I ran the command indicated here exactly as shown, but with my own information in place of the example values.
I can run the ./nmcli.py sipauthserve subscribers read, and it returns the following (I edited the information with asterisks for privacy reasons):
criticalrf@criticalrf001:~/dev/openbts/NodeManager$ ./nmcli.py sipauthserve subscribers read
raw request: {"command":"subscribers","action":"read","key":"","value":""}
raw response: {
"code" : 200,
"data" : [
{
"imsi" : "imsi",
"msisdn" : "msisdn",
"name" : "name"
},
{
"imsi" : "3102605226*****",
"msisdn" : "425606****",
"name" : "blackberry"
},
{
"imsi" : "IMSI00150****322011",
"msisdn" : " 425****111",
"name" : "alcatel-1"
}
]
}
This does not appear to do anything. Aren't these subscriber databases supposed to be dynamic? I am used to updating the .conf files manually, so this new and unfamiliar to me.
Here is what Asterisk indicates when I try to call the phone named "blackberry" from the phone named "alcatel-1".
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [4256064010@from-openBTS:1] Set("SIP/00101100010-0000000c", "CDR(B-Number)=4256064010") in new stack
-- Executing [4256064010@from-openBTS:2] Set("SIP/00101100010-0000000c", "CDR(A-IMSI)=IMSI001502526322011") in new stack
-- Executing [4256064010@from-openBTS:3] Set("SIP/00101100010-0000000c", "CDR(A-Name)=") in new stack
-- Executing [4256064010@from-openBTS:4] Set("SIP/00101100010-0000000c", "CDR(A-Number)= 4255550111") in new stack
-- Executing [4256064010@from-openBTS:5] ExecIf("SIP/00101100010-0000000c", "0?Set(CDR(A-Number)=IMSI001502526322011):Set(CALLERID(num)= 4255550111)") in new stack
-- Executing [4256064010@from-openBTS:6] GotoIf("SIP/00101100010-0000000c", "0?emergency,911,1") in new stack
-- Executing [4256064010@from-openBTS:7] GotoIf("SIP/00101100010-0000000c", "0?default,4256064010,1") in new stack
-- Executing [4256064010@from-openBTS:8] Goto("SIP/00101100010-0000000c", "phones,4256064010,1") in new stack
-- Goto (phones,4256064010,1)
-- Executing [4256064010@phones:1] Set("SIP/00101100010-0000000c", "CDR(B-IMSI)=310260522639903") in new stack
-- Executing [4256064010@phones:2] GotoIf("SIP/00101100010-0000000c", "1?B-IPAddr") in new stack
-- Goto (phones,4256064010,7)
-- Executing [4256064010@phones:7] Set("SIP/00101100010-0000000c", "CDR(B-IPAddr)=127.0.0.1") in new stack
-- Executing [4256064010@phones:8] ExecIf("SIP/00101100010-0000000c", "0?Set(CDR(B-IPAddr)="127.0.0.1")") in new stack
-- Executing [4256064010@phones:9] Set("SIP/00101100010-0000000c", "CDR(B-Port)=5062") in new stack
-- Executing [4256064010@phones:10] ExecIf("SIP/00101100010-0000000c", "0?Set(CDR(B-Port)=5062)") in new stack
-- Executing [4256064010@phones:11] Gosub("SIP/00101100010-0000000c", "to-openBTS,4256064010,1(310260522639903,127.0.0.1,5062)") in new stack
-- Executing [4256064010@to-openBTS:1] Set("SIP/00101100010-0000000c", "CDR(hangupdirection)=A") in new stack
-- Executing [4256064010@to-openBTS:2] Gosub("SIP/00101100010-0000000c", "CallLimit,s,1( 4255550111,4256064010)") in new stack
-- Executing [s@CallLimit:1] GotoIf("SIP/00101100010-0000000c", "0?A-IMSI") in new stack
-- Executing [s@CallLimit:2] Set("SIP/00101100010-0000000c", "GROUP(B)=310260522639903") in new stack
-- Executing [s@CallLimit:3] GotoIf("SIP/00101100010-0000000c", "0?VM") in new stack
-- Executing [s@CallLimit:4] ExecIf("SIP/00101100010-0000000c", "0?Return()") in new stack
-- Executing [s@CallLimit:5] Set("SIP/00101100010-0000000c", "GROUP(A)=IMSI001502526322011") in new stack
-- Executing [s@CallLimit:6] GotoIf("SIP/00101100010-0000000c", "0?VM") in new stack
-- Executing [s@CallLimit:7] Return("SIP/00101100010-0000000c", "") in new stack
-- Executing [4256064010@to-openBTS:3] Set("SIP/00101100010-0000000c", "CALLERID(num)= 4255550111") in new stack
-- Executing [4256064010@to-openBTS:4] Set("SIP/00101100010-0000000c", "CALLERID(name)= 4255550111") in new stack
-- Executing [4256064010@to-openBTS:5] Dial("SIP/00101100010-0000000c", "SIP/310260522639903@127.0.0.1:5062,3600,g") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/310260522639903@127.0.0.1:5062
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [4256064010@to-openBTS:6] Set("SIP/00101100010-0000000c", "CDR(hangupdirection)=SYSTEM") in new stack
-- Executing [4256064010@to-openBTS:7] GotoIf("SIP/00101100010-0000000c", "0?Voicemail,4256064010,1") in new stack
-- Executing [4256064010@to-openBTS:8] GotoIf("SIP/00101100010-0000000c", "0?:h-1,1") in new stack
-- Goto (to-openBTS,h-1,1)
-- Executing [h-1@to-openBTS:1] Progress("SIP/00101100010-0000000c", "") in new stack
-- Executing [h-1@to-openBTS:2] Playback("SIP/00101100010-0000000c", "AST_CAUSE_UNALLOCATED,noanswer") in new stack
[2015-03-08 03:23:30.323] WARNING[2315][C-00000008]: file.c:701ast_openstream_full: File AST_CAUSE_UNALLOCATED does not exist in any format
[2015-03-08 03:23:30.323] WARNING[2315][C-00000008]: file.c:1017ast_streamfile: Unable to open AST_CAUSE_UNALLOCATED (format (gsm)): No such file or directory
[2015-03-08 03:23:30.323] WARNING[2315][C-00000008]: app_playback.c:484playback_exec: ast_streamfile failed on SIP/00101100010-0000000c for AST_CAUSE_UNALLOCATED,noanswer
-- Executing [h-1@to-openBTS:3] Hangup("SIP/00101100010-0000000c", "1") in new stack
== Spawn extension (to-openBTS, h-1, 3) exited non-zero on 'SIP/00101100010-0000000c'
-- Executing [h@to-openBTS:1] Log("SIP/00101100010-0000000c", "NOTICE,A-Number= 4255550111 A-Name= A-IMSI=IMSI001502526322011 B-Number=4256064010 B-Name= B-IMSI=310260522639903 hangupcause=1 dialstatus=CHANUNAVAIL hangupdirection=SYSTEM duration=0 billsec=0") in new stack
[2015-03-08 03:23:30.324] NOTICE[2315][C-00000008]: Ext. h:1@ to-openBTS: A-Number= 4255550111 A-Name= A-IMSI=IMSI001502526322011 B-Number=4256064010 B-Name= B-IMSI=310260522639903 hangupcause=1 dialstatus=CHANUNAVAIL hangupdirection=SYSTEM duration=0 billsec=0
-- Executing [h@to-openBTS:2] Hangup("SIP/00101100010-0000000c", "") in new stack
== Spawn extension (to-openBTS, h, 2) exited non-zero on 'SIP/00101100010-0000000c'
The phone itself pops up with "Number Doesn't Exist."
Where do I need to configure the phone numbers? I have looked at the .conf files under /etc/asterisk and I feel uneasy about manually editing them, as the impression that I've gotten from reading the guide is that everything has been streamlined for automatic updating.
Could someone perhaps help me get this set up?
I am on a deadline to get this set up and working, and it is rapidly approaching...
I just need to get at least three phones provisioned with phone numbers so they can call each other on-network.
I have GPRS set up and it works well, so the calling is all I have left to get working.
Thank you all for your time.
V/R,
Scott Bonk
|