Odprtokodni programski telefon je podoben stacionarnemu ali mobilnemu telefonu, vendar z eno veliko razliko: telefonski klic poteka prek interneta. Za delo z drugimi telefoni mora biti odprtokodni programski telefon sposoben integrirati s telefonskimi omrežji in podpirati širok nabor različnih protokolov. Ko nekdo kliče z programskim telefonom, uporablja slušalke z univerzalnim serijskim vodilom (USB) ali mikrofon, vgrajen v računalnik; programski telefon mora biti sposoben integrirati z napravo za učinkovito komunikacijo. Odvisno od uporabnikove želje po zasebnosti bo varen programski telefon preprečil, da bi ljudje vdrli v linijo in poslušali pogovore. Standardne funkcije klica bodo prav tako pomagale ločiti dobre od najboljših programskih telefonov, bodisi odprtokodnih ali zaprtih.
Poleg tega, da so brezplačni ali poceni, imajo odprtokodni programski telefoni še druge prednosti pred zaprtimi različicami. Izvorna koda programa je odprta za uporabnika, kar razvijalcem omogoča, da spremenijo kodiranje in prodajo spremenjeno različico. Če uporabnik ne pozna programskih jezikov, lahko običajno prenese module, ki so jih izdelali razvijalci, za dodajanje novih funkcij programskemu telefonu.
Ko nekdo uporablja programski telefon z zaprto ali odprto kodo, uporablja določene protokole za prenos uporabnikovega glasu prek interneta na drug telefon. Da bi bilo to uspešno, mora biti programski telefon sposoben razumeti in delati z mnogimi različnimi protokoli. Če programski telefon razume le nekaj protokolov, telefoni nekaterih ponudnikov telefonskih storitev ne bodo mogli slišati uporabnika programskega telefona. Več kot je podprtih protokolov, bolj vsestranski je programski telefon.
Če želite govoriti v programski telefon in slišati govor druge osebe, sta za uporabnike na voljo dve glavni možnosti: slušalke USB ali računalniški mikrofon. Medtem ko so slušalke USB običajno boljše, ker so bolj priročne in zagotavljajo boljšo kakovost zvoka, nekateri uporabniki morda nimajo slušalk. Zaradi tega mora biti odprtokodni programski telefon sposoben podpirati želeno komunikacijsko tehniko uporabnika ali podpirati oboje, tako da lahko uporabnik po želji preklaplja naprej in nazaj.
Kot pri vsaki storitvi, ki deluje prek interneta, je varnost problem. Hekerji bodo zlahka vstopili v nezavarovan odprtokodni programski telefon; to pomeni, da bodo lahko poslušali pogovor in morda vnašali viruse v telefonsko linijo, ki bodo ciljali tako na računalnik kot na telefon. To pomeni, da mora imeti najboljši programski telefon vsaj standardne varnostne funkcije, kot sta šifriranje in sistemi za preverjanje pristnosti.
Odprtokodni programski telefon je kot običajen telefon, zato bi moral imeti standardne funkcije klica, zaradi katerih je običajen telefon uporaben. Nekatere funkcije vključujejo zadrževanje klica, zgodovino klicev, prenos klicev, konferenčne klice in snemanje klicev. Uporabnik naj izbere programski telefon, ki ima funkcije, ki podpirajo njegove ali njene klicne potrebe.