Skip to navigation

Tones

jambonz has a built in tone generate which can create either simple tones like a confirmatin beep or generate more complex patterns fpr things like ringing tone.

These. can be used in place of a URL in the play verb or in multiple other verbs that have a playback function; dial.dialMusic, dub.play config.onHoldMusic

Tone

Tone urls generate a simple single frequncy tone played for a given duration.

tone://?freq=<hz>&duration=<ms>&gainDb=<db>
ParamMeaningDefault
freqfrequency in Hz440
durationlength in ms; omit for an unbounded tone (plays until play.stop/replace)infinite
gainDblevel adjustment in dB (applied to the base amplitude of 8000)0

Examples:

  • tone:// — 440 Hz, plays until stopped
  • tone://?freq=1000&duration=500 — 1 kHz for half a second
  • tone://?freq=350&duration=2000&gainDb=-6 — 350 Hz, 2 sec, 6 dB quieter

Tone Stream

jambonz supports a common subset of the TGML format to generate more complex tones, these are most commonly used for things like ringing tone.

tone_stream://%(on_ms, off_ms, freq1[, freq2, …])

Tone elements — %(on_ms, off_ms, freq1[, freq2, …])

  • on_ms / off_ms — tone and silence durations in milliseconds
  • one or more frequencies, mixed (summed) when you list several — e.g. %(2000,4000,440,480)
  • off_ms = 0 → a continuous (held) tone for the on duration

Sequences — multiple elements joined with ;, played in order as one period

  • e.g. UK ring: %(400,200,400,450);%(400,2000,400,450)

Loop suffix — ;loops=N

  • N times through the whole sequence; -1 = loop forever (until play.stop/replace)
  • omitted = play once

Default variables (apply to %() elements that follow them)

  • v=<dB> — volume, relative to the base level (−63…0 dB range)
  • d=<ms> — default on-duration when an element leaves the on field blank
  • w=<ms> — default off-duration when the off field is blank

Not supported (returns an error)

  • Volume sweeps / ramps — >, <, + (e.g. the FS “BONG”)
  • Prefix repeat counts — l= (per-tone) and L= (whole-script)
  • Channel / sample-rate overrides — c=, r=
  • File-based form — tone_stream://path=/path/to.tgml
  • Frequency-notation operators — modulation ×, “either/or” //, sequence / (these are E.180 notation, not TGML input; the parser only takes plain numbers)

Anything unrecognized fails with unsupported tone_stream token "..." rather than silently degrading — so a typo or an unsupported form surfaces instead of playing the wrong thing.

International Tones

Jambonz includes aliases for the ring tone pattern in most countries, you can sepcify this using the tone_stream url format:

tone_stream://<country>.<tone>
ParamMeaning
countryThe 2 letter country code eg us
toneType of tone, currently only ring is supported

Consult this tabled for the full list of supported countries, their urls and tone patterns

CountryShorthandtone_stream:// URLITU E.180 (freq / cadence)Notes
Albania (Republic of)tone_stream://al.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Algeria (People’s Democratic Republic of)tone_stream://dz.ringtone_stream://%(1500,3500,425)425 / 1.5 on 3.5 off
Andorra (Principality of)tone_stream://ad.ringtone_stream://%(1500,3000,425)425 / 1.5 on 3.0 off
Angola (Republic of)tone_stream://ao.ringtone_stream://%(1000,5000,425)25 / 1.0 on 5.0 offITU 25 Hz (ring current) → 425 Hz
Anguillatone_stream://ai.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Antigua and Barbudatone_stream://ag.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Argentine Republictone_stream://ar.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Arubatone_stream://aw.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Ascensiontone_stream://ac.ringtone_stream://%(384,192,400,450);%(384,2016,400,450)400+450 / 0.384 on 0.192 off 0.384 on 2.016 off
Australiatone_stream://au.ringtone_stream://%(400,200,400,425,450);%(400,2000,400,425,450)400x425//400+425+450//400+450 / 0.4 on 0.2 off 0.4 on 2.0 off// either/or → 400+425+450
Austriatone_stream://at.ringtone_stream://%(1000,5000,420)420//450 / 1.0 on 5.0 off// either/or → 420
Bahamas (Commonwealth of the)tone_stream://bs.ringtone_stream://%(2000,4000,480)480//620 / 2.0 on 4.0 off// either/or → 480
Bahrain (Kingdom of)tone_stream://bh.ringtone_stream://%(400,200,425);%(400,2000,425)425 / 0.4 on 0.2 off 0.4 on 2.0 off
Bangladesh (People’s Republic of)tone_stream://bd.ringtone_stream://%(1000,4000,450)450 / 1.0 on 4.0 off
Barbadostone_stream://bb.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Belarus (Republic of)tone_stream://by.ringtone_stream://%(800,3200,425)425 / 0.8 on 3.2 off
Belgiumtone_stream://be.ringtone_stream://%(1000,3000,425)425 / 1.0 on 3.0 off
Benin (Republic of)tone_stream://bj.ringtone_stream://%(1700,3300,440)440//425 / 1.7 on 3.3 off// either/or → 440
Bermudatone_stream://bm.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Bhutan (Kingdom of)tone_stream://bt.ringtone_stream://%(400,200,400);%(400,2600,400)400+25 / 0.4 on 0.2 off 0.4 on 2.6 offdropped ring-current freq
Bosnia and Herzegovinatone_stream://ba.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Botswana (Republic of)tone_stream://bw.ringtone_stream://%(400,200,425);%(400,2000,425)425 / 0.4 on 0.2 off 0.4 on 2.0 off
Brazil (Federative Republic of)tone_stream://br.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
British Virgin Islandstone_stream://vg.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Brunei Darussalamtone_stream://bn.ringtone_stream://%(400,200,400,450);%(400,200,400,450)400+450 / 0.4 on 0.2 off 0.4 on 0.2 off
Bulgaria (Republic of)tone_stream://bg.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Burkina Fasotone_stream://bf.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Burundi (Republic of)tone_stream://bi.ringtone_stream://%(1700,3300,425)425 / 1.7 on 3.3 off
Cambodia (Kingdom of)tone_stream://kh.ringtone_stream://%(400,200,425);%(400,2000,425)425 / 0.4 on 0.2 off 0.4 on 2.0 off
Cameroon (Republic of)tone_stream://cm.ringtone_stream://%(1700,3300,440)440 / 1.7 on 3.3 off
Canadatone_stream://ca.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Cayman Islandstone_stream://ky.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Central African Republictone_stream://cf.ringtone_stream://%(1700,3300,425)425 / 1.7 on 3.3 off
Chad (Republic of)tone_stream://td.ringtone_stream://%(1700,3300,440)440 / 1.7 on 3.3 off
Channel Islands: Guernseytone_stream://gg.ringtone_stream://%(400,200,400,450)400+450 / 0.4 on 0.2 off
Channel Islands: Jerseytone_stream://je.ringtone_stream://%(400,200,400,450);%(400,2000,400,450)400+450 / 0.4 on 0.2 off 0.4 on 2.0 off
Chiletone_stream://cl.ringtone_stream://%(1000,3000,400)400 / 1.0 on 3.0 off
China (People’s Republic of)tone_stream://cn.ringtone_stream://%(1000,4000,450)450 / 1.0 on 4.0 off
Colombia (Republic of)tone_stream://co.ringtone_stream://%(1000,4500,425)425 / 1.0 on 4.5 off
Comoros (Union of the)tone_stream://km.ringtone_stream://%(1710,50,440)440 / 1.71 on 0.05 off
Cook Islandstone_stream://ck.ringtone_stream://%(400,200,400,450)400+450 / 0.4 on 0.2 off
Costa Ricatone_stream://cr.ringtone_stream://%(1200,4900,450)450 / 1.2 on 4.9 off
Croatia (Republic of)tone_stream://hr.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Cubatone_stream://cu.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Cyprus (Republic of)tone_stream://cy.ringtone_stream://%(1500,3000,425)425 / 1.5 on 3.0 off
Czech Republictone_stream://cz.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Côte d’Ivoire (Republic of)tone_stream://ci.ringtone_stream://%(1700,3300,425)425 / 1.7 on 3.3 off
Democratic Republic of the Congotone_stream://cd.ringtone_stream://%(2000,4000,450)450 / 2.0 on 4.0 off
Denmarktone_stream://dk.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Diego Garciatone_stream://io.ringtone_stream://%(1000,3000,440)440/480 / 1.0 on 3.0 off/ sequence → first freq
Djibouti (Republic of)tone_stream://dj.ringtone_stream://%(1500,3500,425)425 / 1.5 on 3.5 off
Dominica (Commonwealth of)tone_stream://dm.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Dominican Republictone_stream://do.ringtone_stream://%(400,200,400);%(400,2200,400)400//450 / 0.4 on 0.2 off 0.4 on 2.2 off// either/or → 400
Ecuadortone_stream://ec.ringtone_stream://%(1200,4650,425)425 / 1.2 on 4.65 off
Egypt (Arab Republic of)tone_stream://eg.ringtone_stream://%(2000,1000,425)425x50 / 2.0 on 1.0 off
El Salvador (Republic of)tone_stream://sv.ringtone_stream://%(1200,4600,425)425 / 1.2 on 4.6 off
Estonia (Republic of)tone_stream://ee.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Ethiopia (Federal Democratic Republic of)tone_stream://et.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Falkland Islands (Malvinas)tone_stream://fk.ringtone_stream://%(400,200,400,450)400+450 / 0.4 on 0.2 off
Faroe Islandstone_stream://fo.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Fiji (Republic of)tone_stream://fj.ringtone_stream://%(400,200,425);%(400,2000,425)425x25 / 0.4 on 0.2 off 0.4 on 2.0 off
Finlandtone_stream://fi.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Francetone_stream://fr.ringtone_stream://%(1500,3500,440)440 / 1.5 on 3.5 off
French Departments and Territories in the Indian Oceantone_stream://re.ringtone_stream://%(1500,3500,440)440 / 1.5 on 3.5 off
French Guiana (French Department of)tone_stream://gf.ringtone_stream://%(1500,3500,440)440 / 1.5 on 3.5 off
French Polynesia (Territoire français d’outre-mer)tone_stream://pf.ringtone_stream://%(1700,3300,440)440 / 1.7 on 3.3 off
Gabonese Republictone_stream://ga.ringtone_stream://%(1700,3300,440)440 / 1.7 on 3.3 off
Gambia (Republic of the)tone_stream://gm.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Georgiatone_stream://ge.ringtone_stream://%(1000,4000,425)25 / 1.0 on 4.0 offITU 25 Hz (ring current) → 425 Hz
Germany (Federal Republic of)tone_stream://de.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Ghanatone_stream://gh.ringtone_stream://%(1000,4000,400)400 / 1.0 on 4.0 off
Gibraltartone_stream://gi.ringtone_stream://%(400,200,400,450);%(400,2000,400,450)400+450 / 0.4 on 0.2 off 0.4 on 2.0 off
Greecetone_stream://gr.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Greenland (Denmark)tone_stream://gl.ringtone_stream://%(1000,4000,445)445//425 / 1.0 on 4.0 off// either/or → 445
Grenadatone_stream://gd.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Guadeloupe (French Department of)tone_stream://gp.ringtone_stream://%(1500,3500,440)440 / 1.5 on 3.5 off
Guinea (Republic of)tone_stream://gn.ringtone_stream://%(400,200,450)450 / 0.4 on 0.2 off
Guyanatone_stream://gy.ringtone_stream://%(1750,3250,425)425 / 1.75 on 3.25 off
Honduras (Republic of)tone_stream://hn.ringtone_stream://%(1000,4000,440)440 / 1.0 on 4.0 off
Hong Kong, Chinatone_stream://hk.ringtone_stream://%(400,200,440,480);%(400,3000,440,480)440+480 / 0.4 on 0.2 off 0.4 on 3.0 off
Hungary (Republic of)tone_stream://hu.ringtone_stream://%(1250,3750,425)425 / 1.25 on 3.75 off
Icelandtone_stream://is.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
India (Republic of)tone_stream://in.ringtone_stream://%(400,200,400);%(400,2000,400)400x25 / 0.4 on 0.2 off 0.4 on 2.0 off
Indonesia (Republic of)tone_stream://id.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Iran (Islamic Republic of)tone_stream://ir.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Iraq (Republic of)tone_stream://iq.ringtone_stream://%(1000,0,400)400 / continuouscontinuous ring (held tone)
Irelandtone_stream://ie.ringtone_stream://%(400,200,400,450);%(400,2000,400,450)400+450//425 / 0.4 on 0.2 off 0.4 on 2.0 off// either/or → 400+450
Israel (State of)tone_stream://il.ringtone_stream://%(1000,3000,400)400 / 1.0 on 3.0 off
Italytone_stream://it.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Jamaicatone_stream://jm.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Japantone_stream://jp.ringtone_stream://%(1000,2000,400)400x(15~20) / 1.0 on 2.0 off
Jordan (Hashemite Kingdom of)tone_stream://jo.ringtone_stream://%(1000,4000,420)420x40 / 1.0 on 4.0 off
Kenya (Republic of)tone_stream://ke.ringtone_stream://%(670,3000,425);%(1500,5000,425)425 / 0.67 on 3.0 off 1.5 on 5.0 off
Kiribati (Republic of)tone_stream://ki.ringtone_stream://%(400,200,425);%(400,2000,425)425 / 0.4 on 0.2 off 0.4 on 2.0 off
Korea (Republic of)tone_stream://kr.ringtone_stream://%(1000,2000,440,480)440+480 / 1.0 on 2.0 off
Kuwait (State of)tone_stream://kw.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Kyrgyz Republictone_stream://kg.ringtone_stream://%(800,3200,425)425 / 0.8 on 3.2 off
Lao People’s Democratic Republictone_stream://la.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Latvia (Republic of)tone_stream://lv.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Lebanontone_stream://lb.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Lesotho (Kingdom of)tone_stream://ls.ringtone_stream://%(1000,4000,400)400/425 / 1.0 on 4.0 off/ sequence → first freq
Liberia (Republic of)tone_stream://lr.ringtone_stream://%(1000,4000,425)425//450 / 1.0 on 4.0 off// either/or → 425
Liechtenstein (Principality of)tone_stream://li.ringtone_stream://%(1000,0,425)425 / continuouscontinuous ring (held tone)
Lithuania (Republic of)tone_stream://lt.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Luxembourgtone_stream://lu.ringtone_stream://%(1000,4000,425)425//2125 / 1.0 on 4.0 off// either/or → 425
Macao, Chinatone_stream://mo.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Madagascar (Republic of)tone_stream://mg.ringtone_stream://%(1700,3300,440)440//425 / 1.7 on 3.3 off// either/or → 440
Malawitone_stream://mw.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Malaysiatone_stream://my.ringtone_stream://%(400,200,425);%(400,2000,425)425 / 0.4 on 0.2 off 0.4 on 2.0 off
Maldives (Republic of)tone_stream://mv.ringtone_stream://%(400,200,400);%(400,2000,400)400 / 0.4 on 0.2 off 0.4 on 2.0 off
Mali (Republic of)tone_stream://ml.ringtone_stream://%(1500,3000,425)425 / 1.5 on 3.0 off
Maltatone_stream://mt.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Martinique (French Department of)tone_stream://mq.ringtone_stream://%(1500,3500,440)440 / 1.5 on 3.5 off
Mauritania (Islamic Republic of)tone_stream://mr.ringtone_stream://%(1500,3500,425)425 / 1.5 on 3.5 off
Mauritius (Republic of)tone_stream://mu.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Mayottetone_stream://yt.ringtone_stream://%(1500,3500,440)440 / 1.5 on 3.5 off
Mexicotone_stream://mx.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Moldova (Republic of)tone_stream://md.ringtone_stream://%(800,3200,425)425 / 0.8 on 3.2 off
Monaco (Principality of)tone_stream://mc.ringtone_stream://%(1700,3300,440)440 / 1.7 on 3.3 off
Montserrattone_stream://ms.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Morocco (Kingdom of)tone_stream://ma.ringtone_stream://%(1700,3300,425)425 / 1.7 on 3.3 off
Mozambique (Republic of)tone_stream://mz.ringtone_stream://%(1000,5000,400)400 / 1.0 on 5.0 off
Myanmar (Union of)tone_stream://mm.ringtone_stream://%(2000,4000,400)400 / 2.0 on 4.0 off
Namibia (Republic of)tone_stream://na.ringtone_stream://%(400,200,400);%(400,2000,400)400x33 / 0.4 on 0.2 off 0.4 on 2.0 off
Nauru (Republic of)tone_stream://nr.ringtone_stream://%(1000,4000,400)400 / 1.0 on 4.0 off
Nepal (Federal Democratic Republic of)tone_stream://np.ringtone_stream://%(1100,3100,425)425 / 1.1 on 3.1 off
Netherlands (Kingdom of the)tone_stream://nl.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
New Caledonia (Territoire français d’outre-mer)tone_stream://nc.ringtone_stream://%(1700,3300,440)440 / 1.7 on 3.3 off
New Zealandtone_stream://nz.ringtone_stream://%(400,200,400,450);%(400,2000,400,450)400+450 / 0.4 on 0.2 off 0.4 on 2.0 off
Niger (Republic of the)tone_stream://ne.ringtone_stream://%(1700,3300,440)440 / 1.7 on 3.3 off
Nigeria (Federal Republic of)tone_stream://ng.ringtone_stream://%(2000,4000,400)400//450 / 2.0 on 4.0 off// either/or → 400
Norwaytone_stream://no.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Oman (Sultanate of)tone_stream://om.ringtone_stream://%(400,200,425);%(400,2000,425)425 / 0.4 on 0.2 off 0.4 on 2.0 off
Pakistan (Islamic Republic of)tone_stream://pk.ringtone_stream://%(1000,2000,400)400 / 1.0 on 2.0 off
Panama (Republic of)tone_stream://pa.ringtone_stream://%(1200,4650,425)425 / 1.2 on 4.65 off
Papua New Guineatone_stream://pg.ringtone_stream://%(400,200,400,450);%(400,2000,400,450)425//400x25//400x16 2/3//400+450//410x20 / 0.4 on 0.2 off 0.4 on 2.0 off// either/or → 400+450
Paraguay (Republic of)tone_stream://py.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Perutone_stream://pe.ringtone_stream://%(150,300,425)425 / 0.15 on 0.30 off
Philippines (Republic of the)tone_stream://ph.ringtone_stream://%(1000,4000,425,480)425+480 / 1.0 on 4.0 off
Poland (Republic of)tone_stream://pl.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Portugaltone_stream://pt.ringtone_stream://%(1000,5000,425)425 / 1.0 on 5.0 off
Puerto Ricotone_stream://pr.ringtone_stream://%(2000,4000,440,480)no ringing tone listedNot listed in E.180 (payphone tone only); US-style 440+480 commonly applies
Qatar (State of)tone_stream://qa.ringtone_stream://%(380,250,400,450);%(380,2000,400,450)400+450 / 0.38 on 0.25 off 0.38 on 2.0 off
Romaniatone_stream://ro.ringtone_stream://%(1850,4150,450)450x25 / 1.85 on 4.15 off
Russian Federationtone_stream://ru.ringtone_stream://%(800,3200,425)425 / 0.8 on 3.2 off
Rwanda (Republic of)tone_stream://rw.ringtone_stream://%(1700,3300,440)440 / 1.7 on 3.3 off
Saint Helenatone_stream://sh.ringtone_stream://%(400,200,400,450)400+450 / 0.4 on 0.2 off
Saint Kitts and Nevistone_stream://kn.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Saint Luciatone_stream://lc.ringtone_stream://%(375,250,425);%(375,2000,425)425 / 0.375 on 0.25 off 0.375 on 2.0 off
Saint Vincent and the Grenadinestone_stream://vc.ringtone_stream://%(400,200,400,450);%(400,2000,400,450)400+450 / 0.4 on 0.2 off 0.4 on 2.0 off
Samoa (Independent State of)tone_stream://ws.ringtone_stream://%(400,200,425)425x25 / 0.4 on 0.2 off
San Marino (Republic of)tone_stream://sm.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Sao Tome and Principe (Democratic Republic of)tone_stream://st.ringtone_stream://%(1000,5000,400)400 / 1.0 on 5.0 off
Saudi Arabia (Kingdom of)tone_stream://sa.ringtone_stream://%(1200,4600,425)425 / 1.2 on 4.6 off
Senegal (Republic of)tone_stream://sn.ringtone_stream://%(1700,3300,400)400 / 1.7 on 3.3 off
Serbia (Republic of)tone_stream://rs.ringtone_stream://%(1000,9000,450)450x25 / 1.0 on 9.0 off
Seychelles (Republic of)tone_stream://sc.ringtone_stream://%(400,200,425);%(400,2000,425)425 / 0.4 on 0.2 off 0.4 on 2.0 off
Sierra Leonetone_stream://sl.ringtone_stream://%(1000,4000,425)425//450 / 1.0 on 4.0 off// either/or → 425
Singapore (Republic of)tone_stream://sg.ringtone_stream://%(400,200,425);%(400,2000,425)425x24 / 0.4 on 0.2 off 0.4 on 2.0 off
Slovak Republictone_stream://sk.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Slovenia (Republic of)tone_stream://si.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Solomon Islandstone_stream://sb.ringtone_stream://%(400,200,400,450)400+450 / 0.4 on 0.2 off
South Africa (Republic of)tone_stream://za.ringtone_stream://%(400,200,400);%(400,2000,400)400x33 / 0.4 on 0.2 off 0.4 on 2.0 off
Spaintone_stream://es.ringtone_stream://%(1500,3000,425)425 / 1.5 on 3.0 off
Sri Lanka (Democratic Socialist Republic of)tone_stream://lk.ringtone_stream://%(400,200,425);%(400,2000,425)425 / 0.4 on 0.2 off 0.4 on 2.0 off
Sudan (Republic of the)tone_stream://sd.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Suriname (Republic of)tone_stream://sr.ringtone_stream://%(1000,1000,425)425 / 1.0 on 1.0 off
Swaziland (Kingdom of)tone_stream://sz.ringtone_stream://%(400,200,400);%(400,4000,400)400 / 0.4 on 0.2 off 0.4 on 4.0 off
Swedentone_stream://se.ringtone_stream://%(1000,5000,425)425 / 1.0 on 5.0 off
Switzerland (Confederation of)tone_stream://ch.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Syrian Arab Republictone_stream://sy.ringtone_stream://%(1000,500,400)400//450 / 1.0 on 0.5 off// either/or → 400
Tajikistan (Republic of)tone_stream://tj.ringtone_stream://%(800,3200,425)25 / 0.8 on 3.2 offITU 25 Hz (ring current) → 425 Hz
Tanzania (United Republic of)tone_stream://tz.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Thailandtone_stream://th.ringtone_stream://%(1000,4000,400)400 / 1.0 on 4.0 off
The Former Yugoslav Republic of Macedoniatone_stream://mk.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Tokelautone_stream://tk.ringtone_stream://%(400,200,400,450)400+450 / 0.4 on 0.2 off
Trinidad and Tobagotone_stream://tt.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Tunisiatone_stream://tn.ringtone_stream://%(1200,4650,425)425 / 1.20 on 4.65 off
Turkeytone_stream://tr.ringtone_stream://%(2000,4000,450)450 / 2.0 on 4.0 off
Turkmenistantone_stream://tm.ringtone_stream://%(400,4000,425)25 / 0.4 on 4.0 offITU 25 Hz (ring current) → 425 Hz
Turks and Caicos Islandstone_stream://tc.ringtone_stream://%(2000,4000,440,480)440+480 / 2.0 on 4.0 off
Tuvalutone_stream://tv.ringtone_stream://%(1000,500,425);%(1000,10000,425)425 / 1.0 on 0.5 off 1.0 on 10.0 off
Uganda (Republic of)tone_stream://ug.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
United Arab Emiratestone_stream://ae.ringtone_stream://%(400,200,400,450);%(400,2000,400,450)400+450//425 / 0.4 on 0.2 off 0.4 on 2.0 off// either/or → 400+450
United Kingdom of Great Britain and Northern Irelandtone_stream://gb.ringtone_stream://%(400,200,400,450);%(400,2000,400,450)400+450//400x25//400x16 2/3 / 0.4 on 0.2 off 0.4 on 2.0 off// either/or → 400+450
United States of Americatone_stream://us.ringtone_stream://%(2000,4000,440,480)420x40//500x40//440+480 / 2.0 on 4.0 off// either/or → 440+480
Uruguay (Eastern Republic of)tone_stream://uy.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Vanuatu (Republic of)tone_stream://vu.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Venezuela (Bolivarian Republic of)tone_stream://ve.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Vietnamtone_stream://vn.ringtone_stream://%(1000,4000,425)not in E.180Not in ITU-T E.180; common VN ringback 425 Hz, 1 s on / 4 s off
Wallis and Futuna (Territoire français d’outre-mer)tone_stream://wf.ringtone_stream://%(1500,3500,440)440 / 1.5 on 3.5 off
Yemen (Republic of)tone_stream://ye.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Zambia (Republic of)tone_stream://zm.ringtone_stream://%(1000,4000,425)425 / 1.0 on 4.0 off
Zimbabwe (Republic of)tone_stream://zw.ringtone_stream://%(1000,4000,450)450 / 1.0 on 4.0 off

Notation & approximations

E.180 uses a compact frequency notation; these URLs translate it as follows:

  • f1+f2 — simultaneous dual tone → both frequencies mixed in one %( ).
  • f1×f2 — f1 modulated by f2 → modulation can’t be expressed in tone_stream, so the carrier f1 is used (e.g. Singapore 425×24 → 425 Hz).
  • f1/f2 — f1 followed by f2 (sequence) → the first frequency is used (flagged in Notes).
  • f1//f2 — some exchanges use f1, others f2 → the common dual-tone alternative is chosen where present (e.g. US 420×40//500×40//440+480 → 440+480), otherwise the first (flagged).
  • Some entries list 25 Hz (the ringing current, inaudible as a tone) → substituted with 425 Hz audible ringback (flagged).
  • Cadences map 1:1: 0.4 on 0.2 off 0.4 on 2.0 off → %(400,200,…);%(400,2000,…).

Caveats

  • Generated from E.180 (2010); operators may have changed tones since. Verify anything critical.
  • Where a country lists Ringing tone I/II/III variants, the first (primary) variant is used; the source column shows the ITU value.
  • Puerto Rico has no ringing tone in E.180 (only a payphone tone); US-style 440+480 commonly applies.
  • “Warble” tones (three simultaneous frequencies, e.g. Australia 400+425+450) are rendered as a plain mix — close, but not a true frequency sweep.