Jump to content
Reminder: Kazoocon tickets are over here! ×

Uzair Mahmud

  • Posts

  • Joined

  • Days Won


Everything posted by Uzair Mahmud

  1. you can make a feature code that toggles between out for lunch and back to office status. When a person leaves for lunch they can just dial the code and then dial it again when they come back. As for the technical aspect you can make a pivot script that loads the users callflow and adds an audio message for lunch or takes it off if its already there.
  2. are you running your setup on lan or over the internet?
  3. You need to restart kamailio after adding server ip
  4. are you behind NAT? also is your server IP in /etc/kazoo/kamailio/local.cfg
  5. yes ofcourse. Thanks @mc_ i had one last question if you can guide me. Otuside of Erlang Programming Is there a way to put an IVR and DTMF Collect on sip:486 response when dailing external calls. Where exactly would that code go.
  6. We ended up making our own. First disable call waiting on all phones if you want. Our version gives camper voice guide instead of busy response. Basically we set the busy response in all device call flows to give camper voice guide and collect DTMF for triggering campon.. Once the campon is triggered our go script checks the channels every 5 seconds for presence of the busy number. If it is not busy then a quick call is triggered between the two devices. This works really well but its kinda hacky and continuously checking the channels will put a load on the server depending on how many people have activated the featurea t the same time. @mc_ I was wondering if there is a way of checking busy status of on-net or any number dialed through quickcall or some other mechanism in the api. Something like the ability to read the 486 code in the response to an unsuccessful call due to number being busy .
  7. i got that error when i set the dns wrong. are you working on just ips or using hostnames
  8. i have the same script as tomas_ working on my self hosted cluster too. we added an extra check where script will check an eavesdrop group where we add users and only those users can listen in on other calls
  9. There is a way to do that . We have implemented a variation where if you call form the outside and enter a extension number and that numbers pin code you can have that number forwarded to the cid of the device you are calling from. You can create a callflow with a pivot script. The pivot script can ask the user for the number they want to apply forward to and a pincode (preset for that number). you can do api calls in the back to find the device document for the number to apply forward on and do pincode matching for security purposes. after that you can ask the user for the number that calls should be forwarded to. Then make a json for call forward and patch it to that device document. Json for call forward can be found here. https://github.com/2600hz/kazoo/blob/master/applications/crossbar/priv/couchdb/schemas/devices.json line6 - line 48 edit: you can make a user outside device field in user document and then do CID matching on incoming calls and provide more service to people dialing form outside or some variation on disa. Just have to be very thorough with making it secure.
  10. You can do a pivot script for it. for example your code is *8 for group pickup to pickup karens call whose extension is say 9001 you would dial *89001 . This would go to a pivot script which will get karens $user_id from 9001 and return the following json '{"module":"group_pickup_feature","data":{"type":"extension","group_id":"'.$user_id.'"}}' This would automatically work for picking up any number without having to manually program it
  11. I ahve also been using it in production for a 1500 line system and havent seen any issues as of yet
  12. I had the same problem in couchdb 2.0 but they are working in couchdb 2.1 . i have since shifted to couchdb 2.1
  13. For the 7960, First thing you have to do is to create a tftp server. Then you have to program your DHCP Server to point 7960 to that tftp server by setting DHCP options 66. In the tftp server put in the latest SIP firmware for cisco 7960 from http://www.computersolutions.cn/downloads/Cisco/SIP-7960/index.html%3FC=D%3BO=A 8.12 firmware should be the latest. http://www.computersolutions.cn/downloads/Cisco/SIP-7960/P0S3-8-12-00.zip Unzip the files in the tftp server After that you have to make two additional files SIPDefault.cnf and SIPxyz.cnf where xyz is the phones macaddress. Place these files in the tftp server. You can checkout the file formats from this link. http://wiki.siftah.com/Cisco_7960G_IP_Phone_on_Asterisk Once you have setup all the files in the tftp server, connect the phone to the network. it should connect to the tftp server and update itself and connect to the server. Let me know if you need any additional help.
  14. There are also other things to do like tuning couchdb and rabbitmq parameters past a certain point which can increase performance.
  15. i tried using cf_resources. i believe it forwards to only external numbers in which case this breaks for internal forward on busy and no answer. So far the only way i have been able to get this working with DID and internal extensions is to create an additional device of type cellphone and assign it a number. then i patch the find me follow me callflow to that users callflow with the additional device as a second device. This is only a placeholder till i can figure out erlang (almost there) and the internal functions of callflow app and write a module for it.
  16. You are absolutely right! Thanks. i did not realize i could use module resources. and then further nest sip response code branching behavior in that. This will indeed be more robust. However isnt 404 for device not attached instead of someone not picking up the phone though i think i can use " _ " for no answer
  17. fastest fix is to find the audio file in /opt/kazoo/sounds/en/us/ and replace it with a blank file and then run sup kazoo_media_maintenance import_prompts /opt/kazoo/sounds/en/us/ assuming you are using the English audio files. This might have an unintended consequence of breaking another place where you might want this audio to play. Another way would be to use a pivot script . That way you can control what audio plays and how the call forwards. Another way is to modify the erlang file or create your own erlang feature for it and hotload it.
  18. Hi, I am using the feature find me follow me. I want to have the users main device ring and if its not picked up for 45 seconds then to go to an external number. i am using a pivot script to input an external number through a feature code and then the subsequent creation of a ring group and callflow modification. This gives the user the impression that they set call forward on no answer and call forward on busy. Currently i have to create a new device for the forwarded number and create a new ring group with strategy single, the new device and users own device. Then I add it to users callflow with the call delays set. if a user with the same extension number exists i have to instead find that user and add that user's device id into the ring group. is there a way i can have the ring group endpoint type be "extension" and add a number (onnet or offnet) instead of linking to a device with the number in it.
  19. One way to do it would be to add a branch field to user and also admin. Then when smartpbx is loading and populating the user list it will only load users from the branch field of admin. It's not a true backend solution since someone can use APIs to affect all users but it does provide a visual seperation
  • Create New...