Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: meetmecall <info@me...> - 2009-12-20 15:19:58
|
Since a couple of weeks I tried to get the OpenBTS sysem up and running. Finally I had the system on the go, with assistance and help of the small group involved in OpenBTS. The default Asterisk dialplan as presented on the Wiki is very basic. I have put some effort in a more suffisticated dialplan and I hope it will be of use for some of you. I have tried to keep it as simple as possible without databases, AGI scripts etc. The idea is that a mobile can get associated with one or more actual phonenumbers. This normally is called "hotdesking" . In the example config I use the numbers 1001 until 1012. This are the number available. I'm using global variables to store the IMSI number and set a relation between an actual phonenumber and an IMSI number/ mobile phone. This relation is established by calling 0<phonenumber> with a registered phone. So if you pick a registered phone and call 01006, from that moment you will receive all calls for number 1006. You can repeat this so more actual phonenumbers are routed to your phone. If 1006 is your phonenumber you can use any registered phone to receive your phonecalls. It is kind of quick and dirty but it works. I hope it is a good starting point to adjust to your needs (like using pincodes, adding a queue for overflow, better handling of calling non existing numbers, better handling of numbers not available, adding proper callerid info etc. etc.) This dialplan adds lots of flexibility to an OpenBTS based phone solution. Suggestions, critics and compliments are more then welcome ;-) Erik To make it work SIP entries have to be added to sip.conf in this way [IMSI204123170034543] callerid=IMSI204123170034543 <IMSI204123170034543> canreinvite=no type=friend allow=gsm context=sip-internal host=dynamic This is the only appearance of IMSI info in all the config files. Everything below is from extensions.conf It is a quick and dirty solution working great but in need of some adjustments for your particular needs. It is a 100 % configuration solution, no database or non Asterisk scripts involved. I think it will work great with the average OpenBTS roll out. [global] ; global variables to hold IMSI numbers and to set the relation with an actual ponenumber. NR1001= NR1002= NR1003= NR1004= NR1005= NR1006= NR1007= NR1008= NR1009= NR1010= NR1011= NR1012= [sip-internal] ;;;;;;;;;;; ; this number matching extension catches every number ;;;;;;;;;;; exten => _X.,1,NoOp(call setup started) exten => _X.,n,Set(CALLED_NUMBER=${EXTEN}) ; store the dialed number in CALLED_NUMBER exten => _X.,n,Goto(00${EXTEN},1) ; make a jump to the proper extension ;;;;;;;;;;;;;;; ; the dial macro is called with the proper IMSI number. If the variable doesn't have a value the macr will also handle that ;;;;;;;;;;;;;; exten => 001001,1,Macro(dialGSM,${NR1001},${CALLED_NUMBER}) exten => 001002,1,Macro(dialGSM,${NR1002},${CALLED_NUMBER}) exten => 001003,1,Macro(dialGSM,${NR1003},${CALLED_NUMBER}) exten => 001004,1,Macro(dialGSM,${NR1004},${CALLED_NUMBER}) exten => 001005,1,Macro(dialGSM,${NR1005},${CALLED_NUMBER}) exten => 001006,1,Macro(dialGSM,${NR1006},${CALLED_NUMBER}) exten => 001007,1,Macro(dialGSM,${NR1007},${CALLED_NUMBER}) exten => 001008,1,Macro(dialGSM,${NR1008},${CALLED_NUMBER}) exten => 001009,1,Macro(dialGSM,${NR1009},${CALLED_NUMBER}) exten => 001010,1,Macro(dialGSM,${NR1010},${CALLED_NUMBER}) exten => 001011,1,Macro(dialGSM,${NR1011},${CALLED_NUMBER}) exten => 001012,1,Macro(dialGSM,${NR1012},${CALLED_NUMBER}) ;;;;;;;;;;;;;; ; some lines to handle non existing phonenumbers ;;;;;;;;;;;;; exten => _00X.,1,NoOp(A non existing number has been dialed) exten => _00X.,n,PlayBack(tt-monkeys) ; change this voiceprompt with a voiceprompt of own choice or making exten => _00X.,n,Hangup() ;;;;;;;;;;;;;;;;; ; this is the part where the global variables gets a value by calling 0<phonenumber>, f.i. 01002 with a registered phone. This sets the relation between an actual phonenumber and an IMSI number that in sip.conf has been set as the callerid ;;;;;;;;;;;;;;;; exten => 01001,1,Answer() exten => 01001,n,Set(GLOBAL(NR1001)=${CALLERID(num)}) exten => 01001,n,Goto(beep,1) exten => 01002,1,Answer() exten => 01002,n,Set(GLOBAL(NR1002)=${CALLERID(num)}) exten => 01002,n,Goto(beep,1) exten => 01003,1,Answer() exten => 01003,n,Set(GLOBAL(NR1003)=${CALLERID(num)}) exten => 01003,n,Goto(beep,1) exten => 01004,1,Answer() exten => 01004,n,Set(GLOBAL(NR1004)=${CALLERID(num)}) exten => 01004,n,Goto(beep,1) exten => 01005,1,Answer() exten => 01005,n,Set(GLOBAL(NR1005)=${CALLERID(num)}) exten => 01005,n,Goto(beep,1) exten => 01006,1,Answer() exten => 01006,n,Set(GLOBAL(NR1006)=${CALLERID(num)}) exten => 01006,n,Goto(beep,1) exten => 01007,1,Answer() exten => 01007,n,Set(GLOBAL(NR1007)=${CALLERID(num)}) exten => 01007,n,Goto(beep,1) exten => 01008,1,Answer() exten => 01008,n,Set(GLOBAL(NR1008)=${CALLERID(num)}) exten => 01008,n,Goto(beep,1) exten => 01009,1,Answer() exten => 01009,n,Set(GLOBAL(NR1009)=${CALLERID(num)}) exten => 01009,n,Goto(beep,1) exten => 01010,1,Answer() exten => 01010,n,Set(GLOBAL(NR1010)=${CALLERID(num)}) exten => 01010,n,Goto(beep,1) exten => 01011,1,Answer() exten => 01011,n,Set(GLOBAL(NR1011)=${CALLERID(num)}) exten => 01011,n,Goto(beep,1) exten => 01012,1,Answer() exten => 01012,n,Set(GLOBAL(NR1012)=${CALLERID(num)}) exten => 01012,n,Goto(beep,1) ;;;;;;;;;; ; this part is mend to generate some useless sound after calling one of the above extensions ;;;;;;;; exten => beep,1,PlayBack(beep) exten => beep,n,PlayBack(beep) exten => beep,n,PlayBack(beep) exten => beep,n,PlayBack(beep) exten => beep,n,PlayBack(beep) exten => beep,n,Hangup() ;;;;;;;;;;;;; ; this is the actual dial macro that has to handle the dialing but also the non existing and wrong numbers ;;;;;;;;;;;; [macro-dialGSM] exten => s,1,Dial(SIP/${ARG1}) exten => s,2,Goto(s-${DIALSTATUS},1) exten => s-CANCEL,1,Hangup exten => s-NOANSWER,1,Hangup exten => s-BUSY,1,Busy(30) exten => s-CONGESTION,1,Congestion(30) exten => s-CHANUNAVAIL,1,playback(ss-noservice) exten => s-CHANUNAVAIL,n,GoSub(s-${ARG2},1) exten => s-CHANUNAVAIL,n,Hangup() ;;;;;;;;;;;;;;;;; ; if the phonenumber is not available the variable has to be released and set to nothing. ; A relation between a phone and an IMSI number will exist until it is called and not available ;;;;;;;;;;;;;;; exten => s-1001,1,SET(GLOBAL(NR1001)=) exten => s-1002,1,SET(GLOBAL(NR1002)=) exten => s-1003,1,SET(GLOBAL(NR1003)=) exten => s-1004,1,SET(GLOBAL(NR1004)=) exten => s-1005,1,SET(GLOBAL(NR1005)=) exten => s-1006,1,SET(GLOBAL(NR1006)=) exten => s-1007,1,SET(GLOBAL(NR1007)=) exten => s-1008,1,SET(GLOBAL(NR1008)=) exten => s-1009,1,SET(GLOBAL(NR1009)=) exten => s-1010,1,SET(GLOBAL(NR1010)=) exten => s-1011,1,SET(GLOBAL(NR1011)=) exten => s-1012,1,SET(GLOBAL(NR1012)=) And this is it! |
From: Alexander Chemeris <alexander.chemeris@gm...> - 2009-12-20 22:22:12
|
Hi Erik, I haven't tried this yet, but it sounds very useful for testing purposes. Could you put this to wiki? Also I would love to see description on how to still assign static numbers to some IMSIs (from an Asterisk newbie view). On Sun, Dec 20, 2009 at 18:19, meetmecall <info@...> wrote: > Since a couple of weeks I tried to get the OpenBTS sysem up and > running. Finally I had the system on the go, with assistance and help > of the small group involved in OpenBTS. The default Asterisk dialplan > as presented on the Wiki is very basic. I have put some effort in a > more suffisticated dialplan and I hope it will be of use for some of > you. > > I have tried to keep it as simple as possible without databases, AGI > scripts etc. The idea is that a mobile can get associated with one or > more actual phonenumbers. This normally is called "hotdesking" . In > the example config I use the numbers 1001 until 1012. This are the > number available. I'm using global variables to store the IMSI number > and set a relation between an actual phonenumber and an IMSI number/ > mobile phone. This relation is established by calling 0<phonenumber> > with a registered phone. So if you pick a registered phone and call > 01006, from that moment you will receive all calls for number 1006. > You can repeat this so more actual phonenumbers are routed to your > phone. If 1006 is your phonenumber you can use any registered phone to > receive your phonecalls. It is kind of quick and dirty but it works. I > hope it is a good starting point to adjust to your needs (like using > pincodes, adding a queue for overflow, better handling of calling non > existing numbers, better handling of numbers not available, adding > proper callerid info etc. etc.) This dialplan adds lots of > flexibility to an OpenBTS based phone solution. Suggestions, critics > and compliments are more then welcome ;-) > > > Erik > > > To make it work SIP entries have to be added to sip.conf in this way > > [IMSI204123170034543] > callerid=IMSI204123170034543 <IMSI204123170034543> > canreinvite=no > type=friend > allow=gsm > context=sip-internal > host=dynamic > > This is the only appearance of IMSI info in all the config files. > > Everything below is from extensions.conf It is a quick and dirty > solution working great but in need of some adjustments for your > particular needs. It is a 100 % configuration solution, no database > or non Asterisk scripts involved. I think it will work great with the > average OpenBTS roll out. > > > > [global] > > > ; global variables to hold IMSI numbers and to set the relation with > an actual ponenumber. > > NR1001= > NR1002= > NR1003= > NR1004= > NR1005= > NR1006= > NR1007= > NR1008= > NR1009= > NR1010= > NR1011= > NR1012= > > > > [sip-internal] > > ;;;;;;;;;;; > ; this number matching extension catches every number > ;;;;;;;;;;; > > exten => _X.,1,NoOp(call setup started) > exten => _X.,n,Set(CALLED_NUMBER=${EXTEN}) ; store the dialed > number in CALLED_NUMBER > exten => _X.,n,Goto(00${EXTEN},1) ; make > a jump to the proper extension > > > ;;;;;;;;;;;;;;; > ; the dial macro is called with the proper IMSI number. If the > variable doesn't have a value the macr will also handle that > ;;;;;;;;;;;;;; > exten => 001001,1,Macro(dialGSM,${NR1001},${CALLED_NUMBER}) > exten => 001002,1,Macro(dialGSM,${NR1002},${CALLED_NUMBER}) > exten => 001003,1,Macro(dialGSM,${NR1003},${CALLED_NUMBER}) > exten => 001004,1,Macro(dialGSM,${NR1004},${CALLED_NUMBER}) > exten => 001005,1,Macro(dialGSM,${NR1005},${CALLED_NUMBER}) > exten => 001006,1,Macro(dialGSM,${NR1006},${CALLED_NUMBER}) > exten => 001007,1,Macro(dialGSM,${NR1007},${CALLED_NUMBER}) > exten => 001008,1,Macro(dialGSM,${NR1008},${CALLED_NUMBER}) > exten => 001009,1,Macro(dialGSM,${NR1009},${CALLED_NUMBER}) > exten => 001010,1,Macro(dialGSM,${NR1010},${CALLED_NUMBER}) > exten => 001011,1,Macro(dialGSM,${NR1011},${CALLED_NUMBER}) > exten => 001012,1,Macro(dialGSM,${NR1012},${CALLED_NUMBER}) > > > ;;;;;;;;;;;;;; > ; some lines to handle non existing phonenumbers > ;;;;;;;;;;;;; > exten => _00X.,1,NoOp(A non existing number has been dialed) > exten => _00X.,n,PlayBack(tt-monkeys) ; change this > voiceprompt with a voiceprompt of own choice or making > exten => _00X.,n,Hangup() > > > > ;;;;;;;;;;;;;;;;; > ; this is the part where the global variables gets a value by calling > 0<phonenumber>, f.i. 01002 with a registered phone. This sets the > relation between an actual phonenumber and an IMSI number that in > sip.conf has been set as the callerid > ;;;;;;;;;;;;;;;; > > exten => 01001,1,Answer() > exten => 01001,n,Set(GLOBAL(NR1001)=${CALLERID(num)}) > exten => 01001,n,Goto(beep,1) > > exten => 01002,1,Answer() > exten => 01002,n,Set(GLOBAL(NR1002)=${CALLERID(num)}) > exten => 01002,n,Goto(beep,1) > > exten => 01003,1,Answer() > exten => 01003,n,Set(GLOBAL(NR1003)=${CALLERID(num)}) > exten => 01003,n,Goto(beep,1) > > exten => 01004,1,Answer() > exten => 01004,n,Set(GLOBAL(NR1004)=${CALLERID(num)}) > exten => 01004,n,Goto(beep,1) > > exten => 01005,1,Answer() > exten => 01005,n,Set(GLOBAL(NR1005)=${CALLERID(num)}) > exten => 01005,n,Goto(beep,1) > > exten => 01006,1,Answer() > exten => 01006,n,Set(GLOBAL(NR1006)=${CALLERID(num)}) > exten => 01006,n,Goto(beep,1) > > exten => 01007,1,Answer() > exten => 01007,n,Set(GLOBAL(NR1007)=${CALLERID(num)}) > exten => 01007,n,Goto(beep,1) > > exten => 01008,1,Answer() > exten => 01008,n,Set(GLOBAL(NR1008)=${CALLERID(num)}) > exten => 01008,n,Goto(beep,1) > > exten => 01009,1,Answer() > exten => 01009,n,Set(GLOBAL(NR1009)=${CALLERID(num)}) > exten => 01009,n,Goto(beep,1) > > exten => 01010,1,Answer() > exten => 01010,n,Set(GLOBAL(NR1010)=${CALLERID(num)}) > exten => 01010,n,Goto(beep,1) > > exten => 01011,1,Answer() > exten => 01011,n,Set(GLOBAL(NR1011)=${CALLERID(num)}) > exten => 01011,n,Goto(beep,1) > > exten => 01012,1,Answer() > exten => 01012,n,Set(GLOBAL(NR1012)=${CALLERID(num)}) > exten => 01012,n,Goto(beep,1) > > > ;;;;;;;;;; > ; this part is mend to generate some useless sound after calling one > of the above extensions > ;;;;;;;; > exten => beep,1,PlayBack(beep) > exten => beep,n,PlayBack(beep) > exten => beep,n,PlayBack(beep) > exten => beep,n,PlayBack(beep) > exten => beep,n,PlayBack(beep) > exten => beep,n,Hangup() > > > > > ;;;;;;;;;;;;; > ; this is the actual dial macro that has to handle the dialing but > also the non existing and wrong numbers > ;;;;;;;;;;;; > > [macro-dialGSM] > exten => s,1,Dial(SIP/${ARG1}) > exten => s,2,Goto(s-${DIALSTATUS},1) > exten => s-CANCEL,1,Hangup > exten => s-NOANSWER,1,Hangup > > exten => s-BUSY,1,Busy(30) > > exten => s-CONGESTION,1,Congestion(30) > > exten => s-CHANUNAVAIL,1,playback(ss-noservice) > exten => s-CHANUNAVAIL,n,GoSub(s-${ARG2},1) > exten => s-CHANUNAVAIL,n,Hangup() > > ;;;;;;;;;;;;;;;;; > ; if the phonenumber is not available the variable has to be released > and set to nothing. > ; A relation between a phone and an IMSI number will exist until it is > called and not available > ;;;;;;;;;;;;;;; > exten => s-1001,1,SET(GLOBAL(NR1001)=) > exten => s-1002,1,SET(GLOBAL(NR1002)=) > exten => s-1003,1,SET(GLOBAL(NR1003)=) > exten => s-1004,1,SET(GLOBAL(NR1004)=) > exten => s-1005,1,SET(GLOBAL(NR1005)=) > exten => s-1006,1,SET(GLOBAL(NR1006)=) > exten => s-1007,1,SET(GLOBAL(NR1007)=) > exten => s-1008,1,SET(GLOBAL(NR1008)=) > exten => s-1009,1,SET(GLOBAL(NR1009)=) > exten => s-1010,1,SET(GLOBAL(NR1010)=) > exten => s-1011,1,SET(GLOBAL(NR1011)=) > exten => s-1012,1,SET(GLOBAL(NR1012)=) > > > And this is it! > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Openbts-discuss mailing list > Openbts-discuss@... > https://lists.sourceforge.net/lists/listinfo/openbts-discuss > -- Regards, Alexander Chemeris. |
From: meetmecall <info@me...> - 2009-12-21 09:51:25
|
Alexander, If there is interest I would like to add it to the wiki (I tried to login with guest guest but that doesn't gave me entrance) but it might led to some confusion because the way a sip entry is added difference from the "original" way . From what I understand msqueue will, without adjustments, not work with my dialplan. In my opinion it is a great advantage that the sip entry is, in general, independent from the Asterisk dialplan. This enables easy ways to automate the whole configuration process as soon as OpenBTS has discovered an IMSI number. A disadvantage is that, if the OpenBTS Asterisk server goes down, the relation between phone number and asterisk server has to be reestablished. But normally an OpenBTS /Asterisk server goes on and on and on :-) . When used in production it seem to make sense to add a pincode to each phonenumber so not everybody can grep any number. Coupling a phone number with an IMSI number in a static way is very easy. Add the IMSI number to the variable (in this example NR1001) in the [global] section and remove/disable the 01001 part so it is not possible for an other phone to grep the number bij calling 01001. Below are the adjustments to make to couple number 1001 to IMSI204123170034543. This dialplan is not for large scale deployments but can easily be expanded to the maximum number of phones and numbers that make sense with an OpenBTS/usrp deployment. It is more of the same and it will not expand complexity. The basic idea of this dialplan is to keep it as easy as possible with a maximum of flexibility. If you want to give it a try please send me an e-mail and I send you the last version with improvements. Erik >> [global] >> >> >> NR1001= IMSI204123170034543 >> [sip-internal] >> ;exten => 01001,1,Answer() >> ;exten => 01001,n,Set(GLOBAL(NR1001)=${CALLERID(num)}) >> ;exten => 01001,n,Goto(beep,1) On 20 dec 2009, at 23:21, Alexander Chemeris wrote: > Hi Erik, > > I haven't tried this yet, but it sounds very useful for testing > purposes. > Could you put this to wiki? Also I would love to see description on > how to still assign static numbers to some IMSIs (from an Asterisk > newbie view). > > On Sun, Dec 20, 2009 at 18:19, meetmecall <info@...> wrote: >> Since a couple of weeks I tried to get the OpenBTS sysem up and >> running. Finally I had the system on the go, with assistance and help >> of the small group involved in OpenBTS. The default Asterisk dialplan >> as presented on the Wiki is very basic. I have put some effort in a >> more suffisticated dialplan and I hope it will be of use for some of >> you. >> >> I have tried to keep it as simple as possible without databases, AGI >> scripts etc. The idea is that a mobile can get associated with one >> or >> more actual phonenumbers. This normally is called "hotdesking" . In >> the example config I use the numbers 1001 until 1012. This are the >> number available. I'm using global variables to store the IMSI number >> and set a relation between an actual phonenumber and an IMSI number/ >> mobile phone. This relation is established by calling 0<phonenumber> >> with a registered phone. So if you pick a registered phone and call >> 01006, from that moment you will receive all calls for number 1006. >> You can repeat this so more actual phonenumbers are routed to your >> phone. If 1006 is your phonenumber you can use any registered phone >> to >> receive your phonecalls. It is kind of quick and dirty but it >> works. I >> hope it is a good starting point to adjust to your needs (like using >> pincodes, adding a queue for overflow, better handling of calling non >> existing numbers, better handling of numbers not available, adding >> proper callerid info etc. etc.) This dialplan adds lots of >> flexibility to an OpenBTS based phone solution. Suggestions, critics >> and compliments are more then welcome ;-) >> >> >> Erik >> >> >> To make it work SIP entries have to be added to sip.conf in this way >> >> [IMSI204123170034543] >> callerid=IMSI204123170034543 <IMSI204123170034543> >> canreinvite=no >> type=friend >> allow=gsm >> context=sip-internal >> host=dynamic >> >> This is the only appearance of IMSI info in all the config files. >> >> Everything below is from extensions.conf It is a quick and dirty >> solution working great but in need of some adjustments for your >> particular needs. It is a 100 % configuration solution, no database >> or non Asterisk scripts involved. I think it will work great with the >> average OpenBTS roll out. >> >> >> >> [global] >> >> >> ; global variables to hold IMSI numbers and to set the relation with >> an actual ponenumber. >> >> NR1001= >> NR1002= >> NR1003= >> NR1004= >> NR1005= >> NR1006= >> NR1007= >> NR1008= >> NR1009= >> NR1010= >> NR1011= >> NR1012= >> >> >> >> [sip-internal] >> >> ;;;;;;;;;;; >> ; this number matching extension catches every number >> ;;;;;;;;;;; >> >> exten => _X.,1,NoOp(call setup started) >> exten => _X.,n,Set(CALLED_NUMBER=${EXTEN}) ; store the dialed >> number in CALLED_NUMBER >> exten => _X.,n,Goto(00${EXTEN},1) ; >> make >> a jump to the proper extension >> >> >> ;;;;;;;;;;;;;;; >> ; the dial macro is called with the proper IMSI number. If the >> variable doesn't have a value the macr will also handle that >> ;;;;;;;;;;;;;; >> exten => 001001,1,Macro(dialGSM,${NR1001},${CALLED_NUMBER}) >> exten => 001002,1,Macro(dialGSM,${NR1002},${CALLED_NUMBER}) >> exten => 001003,1,Macro(dialGSM,${NR1003},${CALLED_NUMBER}) >> exten => 001004,1,Macro(dialGSM,${NR1004},${CALLED_NUMBER}) >> exten => 001005,1,Macro(dialGSM,${NR1005},${CALLED_NUMBER}) >> exten => 001006,1,Macro(dialGSM,${NR1006},${CALLED_NUMBER}) >> exten => 001007,1,Macro(dialGSM,${NR1007},${CALLED_NUMBER}) >> exten => 001008,1,Macro(dialGSM,${NR1008},${CALLED_NUMBER}) >> exten => 001009,1,Macro(dialGSM,${NR1009},${CALLED_NUMBER}) >> exten => 001010,1,Macro(dialGSM,${NR1010},${CALLED_NUMBER}) >> exten => 001011,1,Macro(dialGSM,${NR1011},${CALLED_NUMBER}) >> exten => 001012,1,Macro(dialGSM,${NR1012},${CALLED_NUMBER}) >> >> >> ;;;;;;;;;;;;;; >> ; some lines to handle non existing phonenumbers >> ;;;;;;;;;;;;; >> exten => _00X.,1,NoOp(A non existing number has been dialed) >> exten => _00X.,n,PlayBack(tt-monkeys) ; change this >> voiceprompt with a voiceprompt of own choice or making >> exten => _00X.,n,Hangup() >> >> >> >> ;;;;;;;;;;;;;;;;; >> ; this is the part where the global variables gets a value by calling >> 0<phonenumber>, f.i. 01002 with a registered phone. This sets the >> relation between an actual phonenumber and an IMSI number that in >> sip.conf has been set as the callerid >> ;;;;;;;;;;;;;;;; >> >> exten => 01001,1,Answer() >> exten => 01001,n,Set(GLOBAL(NR1001)=${CALLERID(num)}) >> exten => 01001,n,Goto(beep,1) >> >> exten => 01002,1,Answer() >> exten => 01002,n,Set(GLOBAL(NR1002)=${CALLERID(num)}) >> exten => 01002,n,Goto(beep,1) >> >> exten => 01003,1,Answer() >> exten => 01003,n,Set(GLOBAL(NR1003)=${CALLERID(num)}) >> exten => 01003,n,Goto(beep,1) >> >> exten => 01004,1,Answer() >> exten => 01004,n,Set(GLOBAL(NR1004)=${CALLERID(num)}) >> exten => 01004,n,Goto(beep,1) >> >> exten => 01005,1,Answer() >> exten => 01005,n,Set(GLOBAL(NR1005)=${CALLERID(num)}) >> exten => 01005,n,Goto(beep,1) >> >> exten => 01006,1,Answer() >> exten => 01006,n,Set(GLOBAL(NR1006)=${CALLERID(num)}) >> exten => 01006,n,Goto(beep,1) >> >> exten => 01007,1,Answer() >> exten => 01007,n,Set(GLOBAL(NR1007)=${CALLERID(num)}) >> exten => 01007,n,Goto(beep,1) >> >> exten => 01008,1,Answer() >> exten => 01008,n,Set(GLOBAL(NR1008)=${CALLERID(num)}) >> exten => 01008,n,Goto(beep,1) >> >> exten => 01009,1,Answer() >> exten => 01009,n,Set(GLOBAL(NR1009)=${CALLERID(num)}) >> exten => 01009,n,Goto(beep,1) >> >> exten => 01010,1,Answer() >> exten => 01010,n,Set(GLOBAL(NR1010)=${CALLERID(num)}) >> exten => 01010,n,Goto(beep,1) >> >> exten => 01011,1,Answer() >> exten => 01011,n,Set(GLOBAL(NR1011)=${CALLERID(num)}) >> exten => 01011,n,Goto(beep,1) >> >> exten => 01012,1,Answer() >> exten => 01012,n,Set(GLOBAL(NR1012)=${CALLERID(num)}) >> exten => 01012,n,Goto(beep,1) >> >> >> ;;;;;;;;;; >> ; this part is mend to generate some useless sound after calling one >> of the above extensions >> ;;;;;;;; >> exten => beep,1,PlayBack(beep) >> exten => beep,n,PlayBack(beep) >> exten => beep,n,PlayBack(beep) >> exten => beep,n,PlayBack(beep) >> exten => beep,n,PlayBack(beep) >> exten => beep,n,Hangup() >> >> >> >> >> ;;;;;;;;;;;;; >> ; this is the actual dial macro that has to handle the dialing but >> also the non existing and wrong numbers >> ;;;;;;;;;;;; >> >> [macro-dialGSM] >> exten => s,1,Dial(SIP/${ARG1}) >> exten => s,2,Goto(s-${DIALSTATUS},1) >> exten => s-CANCEL,1,Hangup >> exten => s-NOANSWER,1,Hangup >> >> exten => s-BUSY,1,Busy(30) >> >> exten => s-CONGESTION,1,Congestion(30) >> >> exten => s-CHANUNAVAIL,1,playback(ss-noservice) >> exten => s-CHANUNAVAIL,n,GoSub(s-${ARG2},1) >> exten => s-CHANUNAVAIL,n,Hangup() >> >> ;;;;;;;;;;;;;;;;; >> ; if the phonenumber is not available the variable has to be released >> and set to nothing. >> ; A relation between a phone and an IMSI number will exist until it >> is >> called and not available >> ;;;;;;;;;;;;;;; >> exten => s-1001,1,SET(GLOBAL(NR1001)=) >> exten => s-1002,1,SET(GLOBAL(NR1002)=) >> exten => s-1003,1,SET(GLOBAL(NR1003)=) >> exten => s-1004,1,SET(GLOBAL(NR1004)=) >> exten => s-1005,1,SET(GLOBAL(NR1005)=) >> exten => s-1006,1,SET(GLOBAL(NR1006)=) >> exten => s-1007,1,SET(GLOBAL(NR1007)=) >> exten => s-1008,1,SET(GLOBAL(NR1008)=) >> exten => s-1009,1,SET(GLOBAL(NR1009)=) >> exten => s-1010,1,SET(GLOBAL(NR1010)=) >> exten => s-1011,1,SET(GLOBAL(NR1011)=) >> exten => s-1012,1,SET(GLOBAL(NR1012)=) >> >> >> And this is it! >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast >> and easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> Openbts-discuss mailing list >> Openbts-discuss@... >> https://lists.sourceforge.net/lists/listinfo/openbts-discuss >> > > > > -- > Regards, > Alexander Chemeris. > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast > and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Openbts-discuss mailing list > Openbts-discuss@... > https://lists.sourceforge.net/lists/listinfo/openbts-discuss |
From: Alexander Chemeris <alexander.chemeris@gm...> - 2009-12-21 10:11:36
|
Hi Erik, On Mon, Dec 21, 2009 at 12:51, meetmecall <info@...> wrote: > If there is interest I would like to add it to the wiki (I tried to > login with guest guest but that doesn't gave me entrance) Have you tried this? Username "guest" Password "gnuradio" > but it might > led to some confusion because the way a sip entry is added difference > from the "original" way. Well, I think you should create a separate page for your dial plan and it should be just very clearly stated on the top of that page. > From what I understand msqueue will, without > adjustments, not work with my dialplan. Hum. I haven't ever used smqueue yet. It would be also useful if you describe why it won't work on the page. Or just prepare patch for smqueue to make it work? ;) > Coupling a phone number with an IMSI number in a static way is very > easy. Add the IMSI number to the variable (in this example NR1001) in > the [global] section and remove/disable the 01001 part so it is not > possible for an other phone to grep the number bij calling 01001. > Below are the adjustments to make to couple number 1001 to > IMSI204123170034543. Great. Just add this info to the page :) > If you want to give > it a try please send me an e-mail and I send you the last version with > improvements. If I have time, I'd like to give it a try at Wed. Then I may want to give it yet more tries at 26C3. -- Regards, Alexander Chemeris. |
From: Alexander Chemeris <alexander.chemeris@gm...> - 2010-01-16 20:34:39
|
Hi Erik, I've been using your dialplan for a while now (since 26C3) and it worked very well for me until I switched to Ubuntu 9.10. Now I have Asterisk 1.6.2.0~rc2-0ubuntu1.2 on my system and I can't make any call with your dialplan. It gives me now following error in Asterisk console when I dial 02000 or any other extension: Connected to Asterisk 1.6.2.0~rc2-0ubuntu1.2 currently running on pzkpfw (pid = 1917) Verbosity was 0 and is now 3 pzkpfw*CLI> == Using SIP RTP CoS mark 5 [Jan 16 23:32:26] NOTICE[2063]: chan_sip.c:19546 handle_request_invite: Call from 'IMSI310260550682564' to extension '02000' rejected because extension not found. [Jan 16 23:32:29] WARNING[2063]: chan_sip.c:21938 stop_session_timer: Null stimer in stop_session_timer - 1143621897@... pzkpfw*CLI> I would love to continue using this dialplan if you can get it working with Asterisk 1.6. -- Regards, Alexander Chemeris. |
From: Alexander Chemeris <alexander.chemeris@gm...> - 2010-01-16 21:00:52
|
Hi Erik, Sorry, this was an error on my side. Problem was that some phones were listed as "sip-external" while some were "sip-internal" in sip.conf. When I placed them all to "sip-internal" context dialplan started to work! I'm starting to recover my past Asterisk skills slowly with all this debug. :) On Sat, Jan 16, 2010 at 23:34, Alexander Chemeris <alexander.chemeris@...> wrote: > Hi Erik, > > I've been using your dialplan for a while now (since 26C3) and it > worked very well for me until I switched to Ubuntu 9.10. Now I have > Asterisk 1.6.2.0~rc2-0ubuntu1.2 on my system and I can't make any > call with your dialplan. It gives me now following error in Asterisk > console when I dial 02000 or any other extension: > > Connected to Asterisk 1.6.2.0~rc2-0ubuntu1.2 currently running on > pzkpfw (pid = 1917) > Verbosity was 0 and is now 3 > pzkpfw*CLI> > == Using SIP RTP CoS mark 5 > [Jan 16 23:32:26] NOTICE[2063]: chan_sip.c:19546 > handle_request_invite: Call from 'IMSI310260550682564' to extension > '02000' rejected because extension not found. > [Jan 16 23:32:29] WARNING[2063]: chan_sip.c:21938 stop_session_timer: > Null stimer in stop_session_timer - 1143621897@... > pzkpfw*CLI> > > I would love to continue using this dialplan if you can get it working with > Asterisk 1.6. > > -- > Regards, > Alexander Chemeris. > -- Regards, Alexander Chemeris. |
From: Reynaldo Baquerizo <reynaldomic@gm...> - 2010-01-16 20:51:36
|
Hi Alexander, > Hi Erik, > > I've been using your dialplan for a while now (since 26C3) and it > worked very well for me until I switched to Ubuntu 9.10. Now I have > Asterisk 1.6.2.0~rc2-0ubuntu1.2 on my system and I can't make any > call with your dialplan. It gives me now following error in Asterisk > console when I dial 02000 or any other extension: Did Asterisk 1.6 actually work with openbts? I also upgraded to ubuntu 9.10 and phones could register no more -- Reynaldo Baquerizo |
From: Alexander Chemeris <alexander.chemeris@gm...> - 2010-01-16 21:02:11
|
Hi Reynaldo, On Sat, Jan 16, 2010 at 23:51, Reynaldo Baquerizo <reynaldomic@...> wrote: > Did Asterisk 1.6 actually work with openbts? > > I also upgraded to ubuntu 9.10 and phones could register no more Yes, it is. Check that upgrade haven't touched your Asterisk config. Also check that Asterisk is actually running. And finally - you should recompile GnuRadio and OpenBTS after upgrade. -- Regards, Alexander Chemeris. |
From: Reynaldo Baquerizo <reynaldomic@gm...> - 2010-01-16 21:08:45
|
Hi, > > Did Asterisk 1.6 actually work with openbts? > > > > I also upgraded to ubuntu 9.10 and phones could register no more > > Yes, it is. > > Check that upgrade haven't touched your Asterisk config. > Also check that Asterisk is actually running. > And finally - you should recompile GnuRadio and OpenBTS after > upgrade. Aha, I missed that last thing Thanks Alexander -- Reynaldo Baquerizo |