Changeset 8579

Show
Ignore:
Timestamp:
01/10/10 16:28:05 (3 years ago)
Author:
mickecarlsson
Message:

Re #3805 initial checkin of code for better handling of trunk responses

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/branches/2.7/core/functions.inc.php

    r8570 r8579  
    17391739      $ext->add($context, $exten, '', new ext_gotoif('$["${custom}" = "AMP"]', 'customtrunk')); 
    17401740      $ext->add($context, $exten, '', new ext_dial('${OUT_${DIAL_TRUNK}}/${OUTNUM}', '300,${DIAL_TRUNK_OPTIONS}'));  // Regular Trunk Dial 
     1741      $ext->add($context, $exten, '', new ext_noop('Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE}')); 
    17411742      $ext->add($context, $exten, '', new ext_goto(1, 's-${DIALSTATUS}')); 
    17421743       
     
    17471748      $ext->add($context, $exten, 'outnum', new ext_set('the_num', '${OUTNUM}'));  // replace "OUTNUM" with the actual number to dial 
    17481749      $ext->add($context, $exten, 'skipoutnum', new ext_dial('${pre_num:4}${the_num}${post_num}', '300,${DIAL_TRUNK_OPTIONS}')); 
     1750      $ext->add($context, $exten, '', new ext_noop('Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE}')); 
    17491751      $ext->add($context, $exten, '', new ext_goto(1, 's-${DIALSTATUS}')); 
    17501752       
     
    17581760      $exten = 's-NOANSWER'; 
    17591761      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting NOANSWER - giving up')); 
     1762      $ext->add($context, $exten, '', new ext_progress()); 
     1763      $ext->add($context, $exten, '', new ext_playback('number-not-answering,noanswer')); 
    17601764      $ext->add($context, $exten, '', new ext_playtones('congestion')); 
    17611765      $ext->add($context, $exten, '', new ext_congestion(20)); 
     
    17661770      $ext->add($context, $exten, '', new ext_congestion(20)); 
    17671771 
    1768       $exten = 's-CHANUNAVAIL'; 
    1769       $ext->add($context, $exten, '', new ext_gotoif('$["x${OUTFAIL_${ARG1}}" = "x"]', 'noreport')); 
    1770       $ext->add($context, $exten, '', new ext_agi('${OUTFAIL_${ARG1}}')); 
    1771       $ext->add($context, $exten, 'noreport', new ext_noop('TRUNK Dial failed due to ${DIALSTATUS} (hangupcause: ${HANGUPCAUSE}) - failing through to other trunks')); 
    1772      
     1772      $exten = "s-UNALLOC"; 
     1773      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting Unallocated/Unassigned number - giving up')); 
     1774      $ext->add($context, $exten, '', new ext_progress()); 
     1775      $ext->add($context, $exten, '', new ext_playback('ss-noservice,noanswer')); 
     1776      $ext->add($context, $exten, '', new ext_busy(20)); 
     1777       
     1778      $exten = "s-NONET"; 
     1779      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting No route to specified transit network - giving up')); 
     1780      $ext->add($context, $exten, '', new ext_progress()); 
     1781      $ext->add($context, $exten, '', new ext_playback('ss-noservice,noanswer')); 
     1782      $ext->add($context, $exten, '', new ext_busy(20)); 
     1783       
     1784      $exten = "s-NOROUTE"; 
     1785      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting No route to destination - giving up')); 
     1786      $ext->add($context, $exten, '', new ext_progress()); 
     1787      $ext->add($context, $exten, '', new ext_playback('no-route-exists-to-dest,noanswer')); 
     1788      $ext->add($context, $exten, '', new ext_busy(20)); 
     1789       
     1790      $exten = "s-CHANUNACCEPT"; 
     1791      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting Channel unacceptable - giving up')); 
     1792      $ext->add($context, $exten, '', new ext_playtones('busy')); 
     1793      $ext->add($context, $exten, '', new ext_busy(20)); 
     1794       
     1795      $exten = "s-REJECT"; 
     1796      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting Call Rejected - giving up')); 
     1797      $ext->add($context, $exten, '', new ext_playtones('busy')); 
     1798      $ext->add($context, $exten, '', new ext_busy(20)); 
     1799       
     1800      $exten = "s-CHANGED"; 
     1801      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting Number Changed - giving up')); 
     1802      $ext->add($context, $exten, '', new ext_playtones('busy')); 
     1803      $ext->add($context, $exten, '', new ext_busy(20)); 
     1804       
    17731805      $exten = '_s-.'; 
     1806      $ext->add($context, $exten, '', new ext_set('RC', '${IF($[${ISNULL(${HANGUPCAUSE})}]?0:${HANGUPCAUSE})}'));  
     1807      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "1"]', 's-NONET,1')); 
     1808      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "2"]', 's-NONET,1')); 
     1809      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "3"]', 's-NOROUTE,1')); 
     1810      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "6"]', 's-CHANUNACCEPT,1')); 
     1811      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "17"]', 's-BUSY,1')); 
     1812      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "18"]', 's-NOANSWER,1')); 
     1813      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "19"]', 's-NOANSWER,1')); 
     1814      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "21"]', 's-REJECT,1')); 
     1815      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "22"]', 's-CHANGED,1')); 
     1816      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "23"]', 's-CHANGED,1')); 
     1817      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "27"]', 's-UNALLOC,1')); 
     1818      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "28"]', 's-UNALLOC,1')); 
     1819      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "31"]', 's-UNALLOC,1')); 
     1820 
    17741821      $ext->add($context, $exten, '', new ext_gotoif('$["x${OUTFAIL_${ARG1}}" = "x"]', 'noreport')); 
    17751822      $ext->add($context, $exten, '', new ext_agi('${OUTFAIL_${ARG1}}')); 
     
    18361883      $ext->add($context, $exten, '', new ext_congestion(20)); 
    18371884     
     1885      $exten = "s-UNALLOC"; 
     1886      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting Unallocated/Unassigned number - giving up')); 
     1887      $ext->add($context, $exten, '', new ext_progress()); 
     1888      $ext->add($context, $exten, '', new ext_playback('ss-noservice|noanswer')); 
     1889      $ext->add($context, $exten, '', new ext_busy(20)); 
     1890       
     1891      $exten = "s-NONET"; 
     1892      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting No route to specified transit network - giving up')); 
     1893      $ext->add($context, $exten, '', new ext_progress()); 
     1894      $ext->add($context, $exten, '', new ext_playback('ss-noservice|noanswer')); 
     1895      $ext->add($context, $exten, '', new ext_busy(20)); 
     1896       
     1897      $exten = "s-NOROUTE"; 
     1898      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting No route to destination - giving up')); 
     1899      $ext->add($context, $exten, '', new ext_progress()); 
     1900      $ext->add($context, $exten, '', new ext_playback('ss-noservice|noanswer')); 
     1901      $ext->add($context, $exten, '', new ext_busy(20)); 
     1902       
     1903      $exten = "s-CHANUNACCEPT"; 
     1904      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting Channel unacceptable - giving up')); 
     1905      $ext->add($context, $exten, '', new ext_playtones('busy')); 
     1906      $ext->add($context, $exten, '', new ext_busy(20)); 
     1907       
     1908      $exten = "s-REJECT"; 
     1909      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting Call Rejected - giving up')); 
     1910      $ext->add($context, $exten, '', new ext_playtones('busy')); 
     1911      $ext->add($context, $exten, '', new ext_busy(20)); 
     1912       
     1913      $exten = "s-CHANGED"; 
     1914      $ext->add($context, $exten, '', new ext_noop('Dial failed due to trunk reporting Number Changed - giving up')); 
     1915      $ext->add($context, $exten, '', new ext_playtones('busy')); 
     1916      $ext->add($context, $exten, '', new ext_busy(20)); 
     1917       
    18381918      $exten = '_s-.'; 
     1919      $ext->add($context, $exten, '', new ext_set('RC', '${IF($[${ISNULL(${HANGUPCAUSE})}]?0:${HANGUPCAUSE})}'));  
     1920      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "1"]', 's-NONET,1')); 
     1921      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "2"]', 's-NONET,1')); 
     1922      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "3"]', 's-NOROUTE,1')); 
     1923      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "6"]', 's-CHANUNACCEPT,1')); 
     1924      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "17"]', 's-BUSY,1')); 
     1925      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "18"]', 's-NOANSWER,1')); 
     1926      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "19"]', 's-NOANSWER,1')); 
     1927      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "21"]', 's-REJECT,1')); 
     1928      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "22"]', 's-CHANGED,1')); 
     1929      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "23"]', 's-CHANGED,1')); 
     1930      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "27"]', 's-UNALLOC,1')); 
     1931      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "28"]', 's-UNALLOC,1')); 
     1932      $ext->add($context, $exten, '', new ext_gotoif('$["${RC}" = "31"]', 's-UNALLOC,1')); 
     1933 
    18391934      $ext->add($context, $exten, '', new ext_gotoif('$["x${OUTFAIL_${ARG1}}" = "x"]', 'noreport')); 
    18401935      $ext->add($context, $exten, '', new ext_agi('${OUTFAIL_${ARG1}}'));