Merge pull request #57 from alexionescu/carrier-support
Added carrier support. typpo/textbelt#56
This commit is contained in:
		
							
								
								
									
										398
									
								
								lib/carriers.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										398
									
								
								lib/carriers.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,398 @@
 | 
				
			|||||||
 | 
					module.exports = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  uscellular: [
 | 
				
			||||||
 | 
					    '%s@email.uscc.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  alltel: [
 | 
				
			||||||
 | 
					    '%s@message.alltel.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  ting: [
 | 
				
			||||||
 | 
					    '%s@message.ting.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  sprint: [
 | 
				
			||||||
 | 
					    '%s@messaging.sprintpcs.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  cellone: [
 | 
				
			||||||
 | 
					    '%s@mobile.celloneusa.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  telus: [
 | 
				
			||||||
 | 
					    '%s@msg.telus.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  alaskacommunications: [
 | 
				
			||||||
 | 
					    '%s@paging.acswireless.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  rogers: [
 | 
				
			||||||
 | 
					    '%s@pcs.rogers.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  cricket: [
 | 
				
			||||||
 | 
					    '%s@sms.mycricket.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  tmobile: [
 | 
				
			||||||
 | 
					    '%s@tmomail.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  att: [
 | 
				
			||||||
 | 
					    '%s@txt.att.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  westernwireless: [
 | 
				
			||||||
 | 
					    '%s@cellularonewest.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  windmobile: [
 | 
				
			||||||
 | 
					    '%s@txt.windmobile.ca',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  verizon: [
 | 
				
			||||||
 | 
					    '%s@vtext.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  republic: [
 | 
				
			||||||
 | 
					    '%s@text.republicwireless.com'
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  /*edgewireless: [
 | 
				
			||||||
 | 
					   //'%s@sms.edgewireless.com',  // slow
 | 
				
			||||||
 | 
					  ],*/
 | 
				
			||||||
 | 
					  bluskyfrog: [
 | 
				
			||||||
 | 
					    '%s@blueskyfrog.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  loopmobile: [
 | 
				
			||||||
 | 
					    '%s@bplmobile.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  clearlydigital: [
 | 
				
			||||||
 | 
					    '%s@clearlydigital.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  comcast: [
 | 
				
			||||||
 | 
					    '%s@comcastpcs.textmsg.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  corrwireless: [
 | 
				
			||||||
 | 
					    '%s@corrwireless.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  cellularsouth: [
 | 
				
			||||||
 | 
					    '%s@csouth1.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  centennialwireless: [
 | 
				
			||||||
 | 
					    '%s@cwemail.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  carolinawestwireless: [
 | 
				
			||||||
 | 
					    '%s@cwwsms.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  southwesternbell: [
 | 
				
			||||||
 | 
					    '%s@email.swbw.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  fido: [
 | 
				
			||||||
 | 
					    '%s@fido.ca',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  ideacellular: [
 | 
				
			||||||
 | 
					    '%s@ideacellular.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  indianapaging: [
 | 
				
			||||||
 | 
					    '%s@inlandlink.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  illinoisvalleycellular: [
 | 
				
			||||||
 | 
					    '%s@ivctext.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  alltel: [
 | 
				
			||||||
 | 
					    '%s@message.alltel.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  centurytel: [
 | 
				
			||||||
 | 
					    '%s@messaging.centurytel.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  dobson: [
 | 
				
			||||||
 | 
					    '%s@mobile.dobson.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  surewestcommunications: [
 | 
				
			||||||
 | 
					    '%s@mobile.surewest.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  mobilcomm: [
 | 
				
			||||||
 | 
					    '%s@mobilecomm.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  clearnet: [
 | 
				
			||||||
 | 
					    '%s@msg.clearnet.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  koodomobile: [
 | 
				
			||||||
 | 
					    '%s@msg.koodomobile.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  metrocall2way: [
 | 
				
			||||||
 | 
					    '%s@my2way.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  boostmobile: [
 | 
				
			||||||
 | 
					    '%s@myboostmobile.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  onlinebeep: [
 | 
				
			||||||
 | 
					    '%s@onlinebeep.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  metrocall: [
 | 
				
			||||||
 | 
					    '%s@page.metrocall.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  mci: [
 | 
				
			||||||
 | 
					    '%s@pagemci.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  ameritechpaging: [
 | 
				
			||||||
 | 
					    '%s@paging.acswireless.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  pcsone: [
 | 
				
			||||||
 | 
					    '%s@pcsone.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  qwest: [
 | 
				
			||||||
 | 
					    '%s@qwestmp.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  satellink: [
 | 
				
			||||||
 | 
					    '%s@satellink.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  threeriverwireless: [
 | 
				
			||||||
 | 
					    '%s@sms.3rivers.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  bluegrasscellular: [ 
 | 
				
			||||||
 | 
					    '%s@sms.bluecell.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  edgewireless: [
 | 
				
			||||||
 | 
					    '%s@sms.edgewireless.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  goldentelecom: [
 | 
				
			||||||
 | 
					    '%s@sms.goldentele.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  publicservicecellular: [
 | 
				
			||||||
 | 
					    '%s@sms.pscel.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  westcentralwireless: [
 | 
				
			||||||
 | 
					    '%s@sms.wcc.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  houstoncellular: [
 | 
				
			||||||
 | 
					    '%s@text.houstoncellular.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  mts: [
 | 
				
			||||||
 | 
					    '%s@text.mtsmobility.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  suncom: [
 | 
				
			||||||
 | 
					    '%s@tms.suncom.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  bellmobilitycanada: [
 | 
				
			||||||
 | 
					    '%s@txt.bell.ca',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  northerntelmobility: [
 | 
				
			||||||
 | 
					    '%s@txt.northerntelmobility.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  uswest: [
 | 
				
			||||||
 | 
					    '%s@uswestdatamail.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  unicel: [
 | 
				
			||||||
 | 
					    '%s@utext.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  virginmobilecanada: [
 | 
				
			||||||
 | 
					    '%s@vmobile.ca',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  virginmobile: [
 | 
				
			||||||
 | 
					    '%s@vmobl.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  airtelchennai: [
 | 
				
			||||||
 | 
					    '%s@airtelchennai.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  kolkataairtel: [
 | 
				
			||||||
 | 
					    '%s@airtelkol.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  delhiairtel: [
 | 
				
			||||||
 | 
					    '%s@airtelmail.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  tsrwireless: [
 | 
				
			||||||
 | 
					    '%s@alphame.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  swisscom: [
 | 
				
			||||||
 | 
					    '%s@bluewin.ch',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  mumbaibplmobile: [
 | 
				
			||||||
 | 
					    '%s@bplmobile.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  vodafonejapan: [
 | 
				
			||||||
 | 
					    '%s@c.vodafone.ne.jp',
 | 
				
			||||||
 | 
					    '%s@h.vodafone.ne.jp',
 | 
				
			||||||
 | 
					    '%s@t.vodafone.ne.jp',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  gujaratcelforce: [
 | 
				
			||||||
 | 
					    '%s@celforce.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  movistar: [
 | 
				
			||||||
 | 
					    '%s@correo.movistar.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  delhihutch: [
 | 
				
			||||||
 | 
					    '%s@delhi.hutch.co.in',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  digitextjamacian: [
 | 
				
			||||||
 | 
					    '%s@digitextjm.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  jsmtelepage: [
 | 
				
			||||||
 | 
					    '%s@e-page.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  escotel: [
 | 
				
			||||||
 | 
					    '%s@escotelmobile.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  surewestcommunications: [
 | 
				
			||||||
 | 
					    '%s@freesurf.ch',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  teliadenmark: [
 | 
				
			||||||
 | 
					    '%s@gsm1800.telia.dk',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  ideacellular: [
 | 
				
			||||||
 | 
					    '%s@ideacellular.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  itelcel: [
 | 
				
			||||||
 | 
					    '%s@itelcel.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  mobileone: [
 | 
				
			||||||
 | 
					    '%s@m1.com.sg',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  m1bermuda: [
 | 
				
			||||||
 | 
					    '%s@ml.bm',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  o2mmail: [
 | 
				
			||||||
 | 
					    '%s@mmail.co.uk',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  telenor: [
 | 
				
			||||||
 | 
					    '%s@mobilpost.no',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  mobistarbelgium: [
 | 
				
			||||||
 | 
					    '%s@mobistar.be',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  mobtelsrbija: [
 | 
				
			||||||
 | 
					    '%s@mobtel.co.yu',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  telefonicamovistar: [
 | 
				
			||||||
 | 
					    '%s@movistar.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  nextelmexico: [
 | 
				
			||||||
 | 
					    '%s@msgnextel.com.mx',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  globalstar: [
 | 
				
			||||||
 | 
					    '%s@msg.globalstarusa.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  iridiumsatellitecommunications: [
 | 
				
			||||||
 | 
					    '%s@msg.iridium.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  oskar: [
 | 
				
			||||||
 | 
					    '%s@mujoskar.cz',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  meteor: [
 | 
				
			||||||
 | 
					    '%s@mymeteor.ie',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  smarttelecom: [
 | 
				
			||||||
 | 
					    '%s@mysmart.mymobile.ph',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  sunrisemobile: [
 | 
				
			||||||
 | 
					    '%s@mysunrise.ch',
 | 
				
			||||||
 | 
					    '%s@swmsg.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  o2: [
 | 
				
			||||||
 | 
					    '%s@o2.co.uk',
 | 
				
			||||||
 | 
					    '%s@o2imail.co.uk',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  oneconnectaustria: [
 | 
				
			||||||
 | 
					    '%s@onemail.at',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  onlinebeep: [
 | 
				
			||||||
 | 
					    '%s@onlinebeep.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  optusmobile: [
 | 
				
			||||||
 | 
					    '%s@optusmobile.com.au',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  /*orange: [
 | 
				
			||||||
 | 
					    //'%s@orange.net',
 | 
				
			||||||
 | 
					    //'%s@orangemail.co.in',
 | 
				
			||||||
 | 
					  ],*/
 | 
				
			||||||
 | 
					  mobilfone: [
 | 
				
			||||||
 | 
					    '%s@page.mobilfone.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  southernlinc: [
 | 
				
			||||||
 | 
					    '%s@page.southernlinc.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  teletouch: [
 | 
				
			||||||
 | 
					    '%s@pageme.teletouch.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  vessotel: [
 | 
				
			||||||
 | 
					    '%s@pager.irkutsk.ru',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  ntelos: [
 | 
				
			||||||
 | 
					    '%s@pcs.ntelos.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  rek2: [
 | 
				
			||||||
 | 
					    '%s@rek2.com.mx',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  chennairpgcellular: [
 | 
				
			||||||
 | 
					    '%s@rpgmail.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  safaricom: [
 | 
				
			||||||
 | 
					    '%s@safaricomsms.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  satelindogsm: [
 | 
				
			||||||
 | 
					    '%s@satelindogsm.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  scs900: [
 | 
				
			||||||
 | 
					    '%s@scs-900.ru',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  sfrfrance: [
 | 
				
			||||||
 | 
					    '%s@sfr.fr',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  mobiteltanzania: [
 | 
				
			||||||
 | 
					    '%s@sms.co.tz',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  comviq: [
 | 
				
			||||||
 | 
					    '%s@sms.comviq.se',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  emt: [
 | 
				
			||||||
 | 
					    '%s@sms.emt.ee',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  geldentelecom: [
 | 
				
			||||||
 | 
					    '%s@sms.goldentele.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  pandtluxembourg: [
 | 
				
			||||||
 | 
					    '%s@sms.luxgsm.lu',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  netcom: [
 | 
				
			||||||
 | 
					    '%s@sms.netcom.no',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  /*orangenl: [
 | 
				
			||||||
 | 
					    //'%s@sms.orange.nl',
 | 
				
			||||||
 | 
					  ],*/
 | 
				
			||||||
 | 
					  primtel: [
 | 
				
			||||||
 | 
					    '%s@sms.primtel.ru',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  tmobileaustria: [
 | 
				
			||||||
 | 
					    '%s@sms.t-mobile.at',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  tele2lativa: [
 | 
				
			||||||
 | 
					    '%s@sms.tele2.lv',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  umc: [
 | 
				
			||||||
 | 
					    '%s@sms.umc.com.ua',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  uraltel: [
 | 
				
			||||||
 | 
					    '%s@sms.uraltel.ru',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  vodafoneitaly: [
 | 
				
			||||||
 | 
					    '%s@sms.vodafone.it',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  lmt: [
 | 
				
			||||||
 | 
					    '%s@smsmail.lmt.lv',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  tmobilegermany: [
 | 
				
			||||||
 | 
					    '%s@t-d1-sms.de',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  dttmobile: [
 | 
				
			||||||
 | 
					    '%s@t-mobile-sms.de',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  tmobileuk: [
 | 
				
			||||||
 | 
					    '%s@t-mobile.uk.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  simplefreedom: [
 | 
				
			||||||
 | 
					    '%s@text.simplefreedom.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  tim: [
 | 
				
			||||||
 | 
					    '%s@timnet.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  vodafone: [
 | 
				
			||||||
 | 
					    '%s@vodafone.net',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  wyndtell: [
 | 
				
			||||||
 | 
					    '%s@wyndtell.com',
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  /*personalcommunication: [
 | 
				
			||||||
 | 
					    //'sms@pcom.ru (put the number in the subject line)',
 | 
				
			||||||
 | 
					  ],*/
 | 
				
			||||||
 | 
					  /*jsmtelepage: [
 | 
				
			||||||
 | 
					    //'pinnumber@jsmtel.com',
 | 
				
			||||||
 | 
					  ],*/
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										10
									
								
								lib/text.js
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								lib/text.js
									
									
									
									
									
								
							@@ -1,5 +1,6 @@
 | 
				
			|||||||
var providers = require('./providers.js')
 | 
					var providers = require('./providers.js')
 | 
				
			||||||
  , _ = require('underscore')
 | 
					  , _ = require('underscore')
 | 
				
			||||||
 | 
					  , carriers = require('./carriers.js')
 | 
				
			||||||
  , exec = require('child_process').exec
 | 
					  , exec = require('child_process').exec
 | 
				
			||||||
  , spawn = require('child_process').spawn;
 | 
					  , spawn = require('child_process').spawn;
 | 
				
			||||||
var StringDecoder = require('string_decoder').StringDecoder;
 | 
					var StringDecoder = require('string_decoder').StringDecoder;
 | 
				
			||||||
@@ -46,12 +47,17 @@ function debug(enable) {
 | 
				
			|||||||
      region - region to use (defaults to US)
 | 
					      region - region to use (defaults to US)
 | 
				
			||||||
      cb - function(err), provides err messages
 | 
					      cb - function(err), provides err messages
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
function sendText(phone, message, region, cb) {
 | 
					function sendText(phone, message, carrier, region, cb) {
 | 
				
			||||||
  output('txting phone', phone, ':', message);
 | 
					  output('txting phone', phone, ':', message);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  region = region || 'us';
 | 
					  region = region || 'us';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  var providers_list = providers[region];
 | 
					  var providers_list;
 | 
				
			||||||
 | 
					  if (carrier == null) {
 | 
				
			||||||
 | 
					    providers_list = providers[region];
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    providers_list = carriers[carrier];
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  var emails = providers_list.map(function(provider) {
 | 
					  var emails = providers_list.map(function(provider) {
 | 
				
			||||||
    return provider.replace('%s', phone);
 | 
					    return provider.replace('%s', phone);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
var express = require('express')
 | 
					var express = require('express')
 | 
				
			||||||
  , app = express()
 | 
					  , app = express()
 | 
				
			||||||
  , _ = require('underscore')
 | 
					  , _ = require('underscore')
 | 
				
			||||||
 | 
					  , carriers = require('../lib/carriers.js')
 | 
				
			||||||
  , crypto = require('crypto')
 | 
					  , crypto = require('crypto')
 | 
				
			||||||
  , exec = require('child_process').exec
 | 
					  , exec = require('child_process').exec
 | 
				
			||||||
  , fs = require('fs')
 | 
					  , fs = require('fs')
 | 
				
			||||||
@@ -83,25 +84,29 @@ app.get('/providers/:region', function(req, res) {
 | 
				
			|||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
app.post('/text', function(req, res) {
 | 
					app.post('/text', function(req, res) {
 | 
				
			||||||
 | 
					  if (req.body.getcarriers != null && (req.body.getcarriers == 1 || req.body.getcarriers.toLowerCase() == 'true')) {
 | 
				
			||||||
 | 
					    res.send({success:true, carriers:Object.keys(carriers).sort()});
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  var number = stripPhone(req.body.number);
 | 
					  var number = stripPhone(req.body.number);
 | 
				
			||||||
  if (number.length < 9 || number.length > 10) {
 | 
					  if (number.length < 9 || number.length > 10) {
 | 
				
			||||||
    res.send({success:false, message:'Invalid phone number.'});
 | 
					    res.send({success:false, message:'Invalid phone number.'});
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  textRequestHandler(req, res, number, 'us', req.query.key);
 | 
					  textRequestHandler(req, res, number, req.body.carrier, 'us', req.query.key);
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
app.post('/canada', function(req, res) {
 | 
					app.post('/canada', function(req, res) {
 | 
				
			||||||
  textRequestHandler(req, res, stripPhone(req.body.number), 'canada', req.query.key);
 | 
					  textRequestHandler(req, res, stripPhone(req.body.number), req.body.carrier, 'canada', req.query.key);
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
app.post('/intl', function(req, res) {
 | 
					app.post('/intl', function(req, res) {
 | 
				
			||||||
  textRequestHandler(req, res, stripPhone(req.body.number), 'intl', req.query.key);
 | 
					  textRequestHandler(req, res, stripPhone(req.body.number), req.body.carrier, 'intl', req.query.key);
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// App helper functions
 | 
					// App helper functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function textRequestHandler(req, res, number, region, key) {
 | 
					function textRequestHandler(req, res, number, carrier, region, key) {
 | 
				
			||||||
  var ip = req.connection.remoteAddress;
 | 
					  var ip = req.connection.remoteAddress;
 | 
				
			||||||
  if (!ip || ip === '127.0.0.1') {
 | 
					  if (!ip || ip === '127.0.0.1') {
 | 
				
			||||||
    ip = req.header('X-Real-IP');
 | 
					    ip = req.header('X-Real-IP');
 | 
				
			||||||
@@ -115,6 +120,14 @@ function textRequestHandler(req, res, number, region, key) {
 | 
				
			|||||||
    res.send({success:false, message:'Number and message parameters are required.'});
 | 
					    res.send({success:false, message:'Number and message parameters are required.'});
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  if (carrier != null) {
 | 
				
			||||||
 | 
					    carrier = carrier.toLowerCase();
 | 
				
			||||||
 | 
					    if (carriers[carrier] == null) {
 | 
				
			||||||
 | 
					      res.send({succes:false, message:'Carrier ' + carrier + ' not supported! POST getcarriers=1 to '
 | 
				
			||||||
 | 
					                                                               + 'get a list of supported carriers'});
 | 
				
			||||||
 | 
					      return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  var message = req.body.message;
 | 
					  var message = req.body.message;
 | 
				
			||||||
  if (message.indexOf(':') > -1) {
 | 
					  if (message.indexOf(':') > -1) {
 | 
				
			||||||
@@ -150,7 +163,7 @@ function textRequestHandler(req, res, number, region, key) {
 | 
				
			|||||||
    response_obj = response_obj || {};
 | 
					    response_obj = response_obj || {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Time to actually send the message
 | 
					    // Time to actually send the message
 | 
				
			||||||
    text.send(number, message, region, function(err) {
 | 
					    text.send(number, message, carrier, region, function(err) {
 | 
				
			||||||
      if (err) {
 | 
					      if (err) {
 | 
				
			||||||
        mpq.track('sendText failed', tracking_details);
 | 
					        mpq.track('sendText failed', tracking_details);
 | 
				
			||||||
        res.send(_.extend(response_obj,
 | 
					        res.send(_.extend(response_obj,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user