PhreakNet

Mountain Electric

Getting Started

Welcome to PhreakNet!

This is not meant to be an overly comprehensive guide on how to set things up — that's what the Docs are for — but if you're a bit overwhelmed and unsure how to start, you're in the right place.

To become a member and join the PhreakNet community, follow the easy steps below:

    1. Get Registered as a Member

  1. If you haven't already, register for an InterLinked account.
  2. Go to Account Settings and make sure that Time Zone, City, State, Country, and ZIP code are all filled out on the General tab.
  3. Proceed to the Security tab and set a 6-digit numeric PIN. This will be used for access to some network services. PINs are treated like passwords, so you can't recover your PIN if you forget it, but you can change it later if needed.
  4. Proceed to the Identity tab and associate a telephone number with your account. This could be your landline, VoIP, or other line, as long as it can receive DID (direct inward dial) calls from the PSTN — please read the instructions carefully. Complete this step even if you live outside of the U.S.. Requests with missing information will not be approved.
  5. Navigate to the key request page and request a PhreakNet access key. If there are any errors on this page before you submit the form, you should fix these (international members may ignore warnings about state or ZIP code). For "Reason", explain in a couple sentences: a) why you are interested in joining the PhreakNet community b) your background in telephony, if any and c) what equipment you hope to connect to the network. If you do not touch on all of these, your request may not be approved. International members may be subject to additional verification. By requesting a key to become a PhreakNet member, you agree to abide by the PhreakNet Community Standards.

    — OR —

    If you already have a key, go to your integration settings and add it under "PhreakNet".
  6. Hang tight and wait for your request to be approved — this will usually happen within 12 business hours, but could occasionally take longer. You'll receive an email once your request is approved or rejected. In the meantime, join the official PhreakNet mailing list.
  7. Once your request is approved, you may request thousand blocks, hosted lines, and other services. If you are requesting a hosted line only, you can stop here. The rest of this guide assumes you want to configure trunking to your node.
  8. Navigate to your integration settings to create your InterLinked API key. You'll need this for all PhreakNet API requests, including routing lookups.

    2. Set up your Routing

  9. Go to "Servers" and add a server using your hostname or IP address.
  10. Go to "Users" and add an IAX2 user. Once you add the user, the system will generate the IAX2 user section needed for iax.conf — free free to copy and paste this in. The last step will have more details about the boilerplate (template) code.
  11. Go to "RSA Keys" and generate your private and public key pair for RSA authentication. Refer to the Docs for details on this process. Basically, you will need to patch your Asterisk for allowing RSA + encryption (make sure to change asterisk-18.5.0 to your actual source directory name):
    cd /tmp
    wget https://code.phreaknet.org/asterisk/iaxrsa.patch
    cd /usr/src/asterisk-18.5.0/
    patch -u -b channels/chan_iax2.c -i /tmp/iaxrsa.patch
    make channels
    make install
    asterisk -rx "core restart now"

    Then, generate your key pair:

    cd /var/lib/asterisk/keys/
    astgenkey -q -n phreaknetrsa
    cat phreaknetrsa.pub
    touch /etc/asterisk/iax-phreaknet-rsa-in.conf
    touch /etc/asterisk/iax-phreaknet-rsa-out.conf

    Keys are uploaded on the RSA keys page. You can simply cat the public key file and copy and paste the contents.
  12. Go to "Switches" and add a switch using a unique CLLI code, depending on what kind of equipment you will be connecting. You can look up your local POTS landline switch on Local Calling Guide and then modify the CLLI you see for your PhreakNet CLLI.
  13. Now, go to "Reservations" and request a thousand block or two (or a few) using the routing and CLLI you configured. If you do so again later, you only need to repeat this step, since you can use the same routing each time. You'll get an email confirmation when your reservation is approved.

    If you'd like to configure inbound trunking into your Asterisk system, you can now do so:

    3. Set up your Asterisk server

  14. If you haven't already, go ahead and set up your Asterisk server by installing Asterisk.
  15. Make sure to replace the default sound prompts with Pat Fleet! They're much more authentic than the stock Allison Smith prompts that come with Asterisk by default.
  16. Generate your RSA key pair. You'll need to upload your public key in a bit, once you have access to the user portal.
  17. Make sure to set verbose = 3 and timestamp = yes as described in Asterisk configuration.
  18. Grab the boilerplate code to get started. Go through and read the comments in each file as there are some things you need to do or change. If you have any questions or issues, feel free to call the Business Office or post to the listserv. The Business Office is happy to help with troubleshooting but we require these config parameters be set to make the printouts clear.
  19. When you're ready, make sure you add your directory entries. Use the general directory for most things and the White Pages for anything that rings a phone that somebody would answer. You can import and export your directory entries using the bulk upload feature to easily synchronize your listings.