addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"

Version 1
    This document was generated from CDN thread

    Created by: Matthias Diehl on 05-11-2009 03:30:26 PM
    Hello
     
    I have a problem with the function "addMGCPEndpoint ". I get followong error:
    I use: Callmanager Version 7.0.2
     
    Table: addMGCPEndpoint
      ERROR: Command addMGCPEndpoint - Ein Aufrufziel hat einen Ausnahmefehler verursacht. (System.Web.Services.Protocols.SoapException: Cannot insert a null into column (digitalaccesspri.tkclockreference).
       bei System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       bei System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       bei AXLVersion70.AXLAPIService70.addMGCPEndpoint(AddMGCPEndpointReq addMGCPEndpoint1))
    I use following xml structure:
     
    <addMGCPEndpoint>
      <domainName>name1</domainName>
      <unit>
       <index>0</index>
      </unit>
      <subunit>
       <index>1</index>
      </subunit>
      <endpoint>
       <name>name1</name>
       <description>name1</description>
       <product>Cisco MGCP E1 Port</product>
       <model>MGCP Station</model>
       <class>Gateway</class>
       <protocol>Digital Access PRI</protocol>
       <clockReference>external</clockReference> 
       <protocolSide>User</protocolSide>
       <callingSearchSpaceName>css</callingSearchSpaceName>
       <devicePoolName>Default</devicePoolName>
       <locationName>location</locationName>
       <mediaResourceListeName>MRGL</mediaResourceListeName>
       <index>0</index>
      </endpoint>
     </addMGCPEndpoint>
     
    Has anyone an idea?
     
    Thanks
     
    Matthias

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: Stephan Steiner on 05-11-2009 11:44:56 PM
    Without having access to the schema I'd say either   <clockReference>external</clockReference>  is either incorrect syntax wise (notation.. or is it External maybe) or there's another clock reference element that is mandatory and that you didn't provide.
     
    If you look at the AXL logs on CCM you might also see some more info on the error (for all the tk... options there'd be a lookup in the database to get the enum associated with the name).. so you'd probably see the query being made and if you run it manually you'd get no output.

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: Matthias Diehl on 06-11-2009 02:04:13 PM
    In the AXL Schema für 7.0 i can´t find anything with clock reference (MGCP Endpoint)
    I have test it without the Tag "clockReference" and test ist with "External", but i get the same error.
     
    I have checked the callmanager logs, but i see only a java exception with ""
    Cannot insert a null into column (digitalaccesspri.tkclockreference).
     
     

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: Matthias Diehl on 06-11-2009 02:16:01 PM
    Here is the output from the callmanager log
     

    2009-11-06 15:07:39,654 DEBUG [http-8443-Processor9] axl.AXLRouter - isThrottling: false
    2009-11-06 15:07:39,654 DEBUG [http-8443-Processor9] axl.AXLRouter - Successfully set the value of counter: 4 value: 0
    2009-11-06 15:07:39,654 INFO [http-8443-Processor9] axl.Handler - Handler initializing
    2009-11-06 15:07:39,671 DEBUG [http-8443-Processor9] axl.Handler - select paramvalue from processconfig where paramname = 'CheckForNamespaceInTag'
    2009-11-06 15:07:39,675 DEBUG [http-8443-Processor9] axl.Handler - Adding attributes {index=0} to element unit
    2009-11-06 15:07:39,675 DEBUG [http-8443-Processor9] axl.Handler - Adding attributes {index=1} to element subunit
    2009-11-06 15:07:39,677 DEBUG [http-8443-Processor9] axl.Handler - select pkid from CallingSearchSpace where my_lower(name ) =my_lower('css' )
    2009-11-06 15:07:39,680 DEBUG [http-8443-Processor9] axl.Handler - select pkid from DevicePool where my_lower(name ) =my_lower('Default' )
    2009-11-06 15:07:39,682 DEBUG [http-8443-Processor9] axl.Handler - select pkid from Location where my_lower(name ) =my_lower('location' )
    2009-11-06 15:07:39,685 DEBUG [http-8443-Processor9] axl.Handler - sql Query String is: select tksupportsfeature, tkdeviceprotocol, param from ProductSupportsFeature where tkproduct='55' and tkdeviceprotocol in ('1',99)
    2009-11-06 15:07:39,687 DEBUG [http-8443-Processor9] axl.Handler - Product 55 does not support feature 34
    2009-11-06 15:07:39,687 DEBUG [http-8443-Processor9] axl.Handler - Product 55 does not support feature 34
    2009-11-06 15:07:39,688 DEBUG [http-8443-Processor9] axl.Handler - Product 55 does not support feature 35
    2009-11-06 15:07:39,688 DEBUG [http-8443-Processor9] axl.Handler - insert into Device ( tkDeviceProtocol,fkLocation,Description,tkPreemption,tkProtocolSide,pkid,tkProduct,fkCallingSearchSpace,Name,tkStatus_MLPPIndicationStatus,fkDevicePool ) values ( '1','be4a3b0e-2015-7a84-592a-20e090916','VG1 diehl','0','1','8bcc6d1a-35d9-6037-1ea1-481b056e9','55','1eaaf2d9-703b-2fb9-36e1-f49408eed','name','0','1b1b9eb6-7803-11d3-bdf0-00108302e' )
    2009-11-06 15:07:39,782 DEBUG [http-8443-Processor9] axl.Handler - Adding attributes {index=0} to element unit
    2009-11-06 15:07:39,783 DEBUG [http-8443-Processor9] axl.Handler - Adding attributes {index=1} to element subunit
    2009-11-06 15:07:39,783 DEBUG [http-8443-Processor9] axl.Handler - insert into DigitalAccessPri ( tkencode,enableprotectedfacilityie,tkcsuparam,fkDevice,pkid,numDigits,Span,StatusPoll,tkPriProtocol ) values ( '0','f','1','8bcc6d1a-35d9-6037-1ea1-481b056e9','ee925585-29fa-0f24-4e96-ee3b09cfc','99','0','f','9' )
    2009-11-06 15:07:39,873 ERROR [http-8443-Processor9] axl.Handler - com.cisco.ccm.axl.MGCPEndpointHandler@1e7af7f
    java.sql.SQLException: Cannot insert a null into column (digitalaccesspri.tkclockreference).


     

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: David Staudt on 06-11-2009 03:45:42 PM
    Since the field name is 'tkclockreference', by convention there will be a table called 'typeclockreference' which contains the possible types.  From the UCM CLI, you can query for the actual values in this table:
     

    admin:run sql select * from typeclockreference
    enum name     moniker            
    ==== ======== ================== 
    0    Network  CLOCK_REF_NETWORK  
    1    Internal CLOCK_REF_INTERNAL 
    2    Span 1   CLOCK_REF_SPAN_1   
    3    Span 2   CLOCK_REF_SPAN_2   
    4    Span 3   CLOCK_REF_SPAN_3   
    5    Span 4   CLOCK_REF_SPAN_4   
    6    Span 5   CLOCK_REF_SPAN_5   
    7    Span 6   CLOCK_REF_SPAN_6   
    8    Span 7   CLOCK_REF_SPAN_7   
    9    Span 8   CLOCK_REF_SPAN_8 

     
    So if you want to specify internal clock, you need to pass the value 1 in the SQL:
     
    insert into DigitalAccessPri ( tkencode,enableprotectedfacilityie,tkcsuparam,fkDevice,pkid,numDigits,Span,StatusPoll,tkPriProtocol,tkclockreference ) values ( '0','f','1','8bcc6d1a-35d9-6037-1ea1-481b056e9','ee925585-29fa-0f24-4e96-ee3b09cfc','99','0','f','9',1
     
    (Note I didn't test this, there may be additional required/minimum fields)

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: David Staudt on 06-11-2009 04:19:03 PM
    Sorry, didn't read up far enough
     
    Since you're using a regular AXL request - not direct SQL - my guess is that this is a bug: the AXL schema needs to include a <clockReference> element for this request, since the DB requires the value to be populated.  I've opened CSCtd03999 for tracking.
     
    You may be able to work around this by using direct SQL and basically emulating the inserts you see in the AXL log above (plus adding tkclockreference, as in my previous post.)

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: Matthias Diehl on 09-11-2009 12:53:06 PM
    Thanks for the answer and for that open the case.
     
    I will wait to results in this case to pe present.
     
     

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: David Staudt on 17-11-2009 04:20:10 PM
    AXL engineering reports this issue will be corrected as of UCM 8.  In UCM 7.x versions, though the schema does not show it, I understand that a <clockReference> element is handled by the AXL code, with possible values being the 'name' field contents of tkclockreference.
     
    Can you try your XML request using <clockReference> value 'Network' instead of 'External'?

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: Matthias Diehl on 18-11-2009 04:05:56 PM
    I tried it with "Network" (<clockReference>), but it doesn´t works, i get the same Error
     
     

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: David Staudt on 18-11-2009 04:48:01 PM
    Thanks for trying...can you attach the AXL logs?

    Subject: RE: addMGCPEndpoint - Error "digitalaccesspri.tkclockreference"
    Replied by: Matthias Diehl on 24-11-2009 10:37:10 AM
    sorry for the late answer
    i attached the trace
     
     
     
    ERROR: Command addMGCPEndpoint - Ein Aufrufziel hat einen Ausnahmefehler verursacht. (System.Web.Services.Protocols.SoapException: Cannot insert a null into column (digitalaccesspri.tkclockreference).
       bei System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       bei System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       bei AXLVersion70.AXLAPIService70.addMGCPEndpoint(AddMGCPEndpointReq addMGCPEndpoint1))