91³Ô¹ÏÍø

Watch CBS News

Frisco police investigating after families of Karmelo Anthony and Austin Metcalf harassed with swatting calls

The families of Austin Metcalf and Karmelo Anthony are facing unrelenting harassment that's putting their safety and the safety of their neighbors at risk. 

Twice since 17-year-old high school student Austin Metcalf was killed, Frisco police officers have been sent to his mother's and father's homes because of prank 911 calls. 

He would not go on camera, but Austin's father, Jeff Metcalf, told CBS News Texas that he's worried someone will get injured or killed by what's happening in his neighborhood.

Images and video show what happened outside Jeff Metcalf's home in Frisco on Thursday.

SWAT officers with guns drawn responded to a 911 call that no one inside had made. 

It's the most recent of several incidents of what's known as swatting, in which pranksters call 911 anonymously to harass, in this case, the family of the victim of a high-profile murder case. 

"It's been around for a while, but it's really taking on a new life in these social issues," UTD Criminologist Dr. Timothy Bray said. "It used to be something that was a little bit more reserved for the fringes of the community, and it's happening more often.

Dr. Bray said that of all the online threats, misinformation and harassment that continues to surround the stabbing death of Austin at a high school track meet, swatting is by far the most dangerous. 

"So, this social chaos is creating disruption in the lives of people who are affected, and in the lives of the folks next door, right?" Dr. Bray said. "If we don't catch it soon, somebody's going to get seriously hurt or even killed from one of these altercations."

Following the swatting incidents, Frisco PD sent CBS News Texas the following statement: "As with any incident like this, our investigators will be looking into it."

On Thursday, the mother of Karmelo Anthony, the Frisco student charged in the stabbing death of Austin, revealed that her husband had to take leave from his job because of the harassment targeting his employer. 

"Everyone involved in the investigation, from the police, the attorneys and the courts to our address and my husband's previous employers' address, has been put on all social media platforms," said Kala Hayes.

Jeff Metcalf said he's had to leave his job, too. 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });